Sending Email in Java through Gmail Server
We can send email by using the SMTP server of gmail. It is good if you are don't have any SMTP server and reliable. Here we will learn how to send email through gmail server by SSL (Secured Socket Layer). SSL is basically used for security if you are sending email through gmail server.
For better understanding of this example, learn the steps of sending email using JavaMail API first. |
For sending the email using JavaMail API, you need to load the two jar files:download these jar files (or) go to the Oracle site to download the latest version. |
| Example of Sending Email through Gmail Server with SSL- import java.util.Properties;
- import javax.mail.*;
- import javax.mail.internet.*;
- class Mailer{
- public static void send(String from,String password,String to,String sub,String msg){
-
- Properties props = new Properties();
- props.put("mail.smtp.host", "smtp.gmail.com");
- props.put("mail.smtp.socketFactory.port", "465");
- props.put("mail.smtp.socketFactory.class",
- "javax.net.ssl.SSLSocketFactory");
- props.put("mail.smtp.auth", "true");
- props.put("mail.smtp.port", "465");
-
- Session session = Session.getDefaultInstance(props,
- new javax.mail.Authenticator() {
- protected PasswordAuthentication getPasswordAuthentication() {
- return new PasswordAuthentication(from,password);
- }
- });
-
- try {
- MimeMessage message = new MimeMessage(session);
- message.addRecipient(Message.RecipientType.TO,new InternetAddress(to));
- message.setSubject(sub);
- message.setText(msg);
-
- Transport.send(message);
- System.out.println("message sent successfully");
- } catch (MessagingException e) {throw new RuntimeException(e);}
-
- }
- }
- public class SendMailSSL{
- public static void main(String[] args) {
-
- Mailer.send("from@gmail.com","xxxxx","to@gmail.com","hello javatpoint","How r u?");
-
- }
- }
As you can see in the above example, userid and password need to be authenticated. As, this program illustrates, you can send email easily but change the username and password accordingly. Let's see how to run it once again by simple technique: Load the jar file | c:\> set classpath=mail.jar;activation.jar;.; | compile the source file | c:\> javac SendMailSSL.java | run by | c:\> java SendMailSSL |
Resolving AuthenticationFailedExceptionClick on this link and click on turn on radio button to allow users to send mail from unknown location. https://www.google.com/settings/security/lesssecureapps |