Forwarding email in Java
We can forward the received mail to someone else
as we send emails. There are many javamail classes that are used to forward the
messages to the destination resource.
Example of forwarding email in Java
import java.util.*;  
import javax.mail.*;  
import javax.mail.internet.*;  
public class ForwardMail{  
 public static void main(String[] args)throws Exception {  
  final String user="completejavaschool.blogspot.com";//change accordingly  
  final String password="xxxxx";//change accordingly  
  //get the session object  
  Properties props = new Properties();  
  props.put("mail.smtp.host", "mail.javatpoint.com");  
  props.put("mail.smtp.auth", "true");  
  Session session = Session.getDefaultInstance(props,  
    new javax.mail.Authenticator() {  
    protected PasswordAuthentication getPasswordAuthentication() {  
        return new PasswordAuthentication(user,password);  
    }  
  });  
  // Get a Store object and connect to the current host   
  Store store = session.getStore("pop3");  
  store.connect("completejavaschool.blogspot.com",user,password);  
  //Create a Folder object and open the folder  
  Folder folder = store.getFolder("inbox");  
  folder.open(Folder.READ_ONLY);  
  Message message = folder.getMessage(1);  
  // Get all the information from the message  
  String from = InternetAddress.toString(message.getFrom());  
  if (from != null) {  
  System.out.println("From: " + from);  
  }  
  String replyTo = InternetAddress.toString(  
  message.getReplyTo());  
  if (replyTo != null) {  
  System.out.println("Reply-to: " + replyTo);  
  }  
  String to = InternetAddress.toString(  
  message.getRecipients(Message.RecipientType.TO));  
  if (to != null) {  
  System.out.println("To: " + to);  
  }  
  String subject = message.getSubject();  
  if (subject != null) {  
  System.out.println("Subject: " + subject);  
  }  
  Date sent = message.getSentDate();  
  if (sent != null) {  
  System.out.println("Sent: " + sent);  
  }  
  System.out.println(message.getContent());  
  // compose the message to forward  
  Message message2 = new MimeMessage(session);  
  message2.setSubject("Fwd: " + message.getSubject());  
  message2.setFrom(new InternetAddress(from));  
  message2.addRecipient(Message.RecipientType.TO,  
  new InternetAddress(to));  
  // Create your new message part  
  BodyPart messageBodyPart = new MimeBodyPart();  
  messageBodyPart.setText("Oiginal message:\n\n");  
  // Create a multi-part to combine the parts  
  Multipart multipart = new MimeMultipart();  
  multipart.addBodyPart(messageBodyPart);  
  // Create and fill part for the forwarded content  
  messageBodyPart = new MimeBodyPart();  
  messageBodyPart.setDataHandler(message.getDataHandler());  
  // Add part to multi part  
  multipart.addBodyPart(messageBodyPart);  
  // Associate multi-part with message  
  message2.setContent(multipart);  
  // Send message  
  Transport.send(message2);  
  System.out.println("message forwarded ....");  
  }  
}   

No comments:
Post a Comment