Pages

Tuesday 31 December 2013

SENDING HTML PAGE AS A EMAIL USING GMAIL SMTP

Main.java

public class Main {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
         String[] recipients = new String[]{"maheshwarianand@ymail.com"}; 
            String[] bccRecipients = new String[]{"anandmaheshwari15790@gmail.com"}; 
            String subject = "Hi this is test Mail"; 
            String messageBody = "Test Mail from codesstore.blogspot.com"; 
     
            new MailUtil().sendMail(recipients, bccRecipients, subject, messageBody); 
    }

}



MainUtil.java

import java.io.UnsupportedEncodingException; 
import java.util.Properties; 
import java.util.logging.Level; 
import java.util.logging.Logger; 

import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.activation.FileDataSource;
import javax.mail.Authenticator; 
import javax.mail.BodyPart;
import javax.mail.Message; 
import javax.mail.MessagingException; 
import javax.mail.PasswordAuthentication; 
import javax.mail.Session; 
import javax.mail.Transport; 
import javax.mail.internet.InternetAddress; 
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage; 
import javax.mail.internet.MimeMultipart;
 
public class MailUtil { 
 
    private String SMTP_HOST = "smtp.gmail.com"; 
    private String FROM_ADDRESS = "sender_mail@gmail.com"; 
    private String PASSWORD = "mail_password"; 
    private String FROM_NAME = "Anand"; 
 
    public boolean sendMail(String[] recipients, String[] bccRecipients, String subject, String message) { 
        try { 
            Properties props = new Properties(); 
            props.put("mail.smtp.host", SMTP_HOST); 
            props.put("mail.smtp.auth", "true"); 
            props.put("mail.debug", "false"); 
            props.put("mail.smtp.ssl.enable", "true"); 
 
            Session session = Session.getInstance(props, new SocialAuth()); 
           
           
            Message msg = new MimeMessage(session); 
           
           
 
            InternetAddress from = new InternetAddress(FROM_ADDRESS, FROM_NAME); 
            msg.setFrom(from); 
 
            InternetAddress[] toAddresses = new InternetAddress[recipients.length]; 

           
            for (int i = 0; i < recipients.length; i++) { 
                toAddresses[i] = new InternetAddress(recipients[i]); 
            } 
           
            msg.setRecipients(Message.RecipientType.TO, toAddresses); 
 
 
            InternetAddress[] bccAddresses = new InternetAddress[bccRecipients.length]; 
            for (int j = 0; j < bccRecipients.length; j++) { 
                bccAddresses[j] = new InternetAddress(bccRecipients[j]); 
            } 
            msg.setRecipients(Message.RecipientType.BCC, bccAddresses); 
 
            msg.setSubject(subject); 
           
            //
            // This HTML mail have to 2 part, the BODY and the embedded image
            //
            MimeMultipart multipart = new MimeMultipart("related");

            // first part  (the html)
            BodyPart messageBodyPart = new MimeBodyPart();
            String htmlText = "<center><H1>Hello</H1></center><img src=\"cid:image\">";
            messageBodyPart.setContent(htmlText, "text/html");

            // add it
            multipart.addBodyPart(messageBodyPart);
           
            // second part (the image)
            messageBodyPart = new MimeBodyPart();
            DataSource fds = new FileDataSource
              ("D:\\a.jpg");
            messageBodyPart.setDataHandler(new DataHandler(fds));
            messageBodyPart.setHeader("Content-ID","<image>");

            // add it
            multipart.addBodyPart(messageBodyPart);
           
           
            //msg.setContent(message, "text/plain"); 
           
            msg.setContent(multipart);
            Transport.send(msg); 
           
            System.out.println("Sendded Successfully...");
            return true; 
        } catch (UnsupportedEncodingException ex) { 
            Logger.getLogger(MailUtil.class.getName()).log(Level.SEVERE, null, ex); 
            return false; 
 
        } catch (MessagingException ex) { 
            Logger.getLogger(MailUtil.class.getName()).log(Level.SEVERE, null, ex); 
            return false; 
        } 
    } 
 
    class SocialAuth extends Authenticator { 
 
        @Override 
        protected PasswordAuthentication getPasswordAuthentication() { 
 
            return new PasswordAuthentication(FROM_ADDRESS, PASSWORD); 
 
        } 
    } 


=====================================================================

No comments:

Post a Comment