userimage
Moe

How to send mail using java mail api

Way to send mail using java mail api.

userimage
Moe

To send mail using java we can use below method:


import java.util.Base64;
import java.util.Properties;

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.MimeMessage;

public class SendMail {


    private static Session session;
    private static Properties props = new Properties();

    static {
        props.put("mail.smtp.host", <Mail Host Name>);
        props.put("mail.smtp.socketFactory.port", <SMTP Port Number>);
        props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
        props.put("mail.smtp.auth", "true");
        props.put("mail.smtp.starttls.enable", "true");
        props.put("mail.smtp.port", <SMTP Port Number>);

        session = Session.getDefaultInstance(props, new javax.mail.Authenticator() {
            protected PasswordAuthentication getPasswordAuthentication() {
                return new PasswordAuthentication(<User Id e.g abc@abc.com>,
                        <Password>);
            }
        });
    }

    public void sendMailForActivateUserAccount(String message) {

               try {
                       Message message = new MimeMessage(session);
                       message.setContent(message, "text/html");
                       message.setFrom(new InternetAddress(<Mail User id [Basicaly the id from where mail will trigger]>));
                       message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(userMailId));
                       message.setSubject(<Mail Subject>);
                       Transport.send(message);
        } catch (MessagingException e) {
            throw new RuntimeException(e);
        }
    }
}

This above code will help to trigger mail using java mail api.

Answer is