Skip to content

Instantly share code, notes, and snippets.

@brunocribeiro
Created June 2, 2015 00:05
Show Gist options
  • Save brunocribeiro/12a529f7f752f2853b9f to your computer and use it in GitHub Desktop.
Save brunocribeiro/12a529f7f752f2853b9f to your computer and use it in GitHub Desktop.
JavaMail samples using Office365 SMTP
import java.util.Date;
import java.util.Properties;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.mail.Authenticator;
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 SendEmailOffice365 {
private static final Logger LOGGER = Logger.getAnonymousLogger();
private static final String SERVIDOR_SMTP = "smtp.office365.com";
private static final int PORTA_SERVIDOR_SMTP = 587;
private static final String CONTA_PADRAO = "mail@mail.com.br";
private static final String SENHA_CONTA_PADRAO = "password*";
private final String from = "mail@mail.com.br";
private final String to = "mail@mail.com";
private final String subject = "Teste";
private final String messageContent = "Teste de Mensagem";
public void sendEmail() {
final Session session = Session.getInstance(this.getEmailProperties(), new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(CONTA_PADRAO, SENHA_CONTA_PADRAO);
}
});
try {
final Message message = new MimeMessage(session);
message.setRecipient(Message.RecipientType.TO, new InternetAddress(to));
message.setFrom(new InternetAddress(from));
message.setSubject(subject);
message.setText(messageContent);
message.setSentDate(new Date());
Transport.send(message);
} catch (final MessagingException ex) {
LOGGER.log(Level.WARNING, "Erro ao enviar mensagem: " + ex.getMessage(), ex);
}
}
public Properties getEmailProperties() {
final Properties config = new Properties();
config.put("mail.smtp.auth", "true");
config.put("mail.smtp.starttls.enable", "true");
config.put("mail.smtp.host", SERVIDOR_SMTP);
config.put("mail.smtp.port", PORTA_SERVIDOR_SMTP);
return config;
}
public static void main(final String[] args) {
new SendEmailOffice365().sendEmail();
}
}
@simeonhearring
Copy link

Worked like a charm!!

@brantansp
Copy link

brantansp commented Mar 21, 2018

Hello,

How to resolve the below issue

WARNING: Error : Sending failed;
nested exception is:
class javax.mail.MessagingException: 530 5.7.57 SMTP; Client was not authenticated to send anonymous mail during MAIL FROM [AM5PR0202CA0009.eurprd02.prod.outlook.com]

javax.mail.SendFailedException: Sending failed;
nested exception is:
class javax.mail.MessagingException: 530 5.7.57 SMTP; Client was not authenticated to send anonymous mail during MAIL FROM [AM5PR0202CA0009.eurprd02.prod.outlook.com]

at javax.mail.Transport.send0(Transport.java:218)
at javax.mail.Transport.send(Transport.java:80)
at l(SendEmailOffice365.java:50)
at (SendEmailOffice365.java:66)

@bhagyashreesharma
Copy link

Hi,
I am having the same issue Client was not authenticated to send anonymous mail during MAIL FROM
Do you have any idea how to resolve ?

Thanks

@irudayambics
Copy link

I am facing the same error. Do you have any solution? Please share it.

exception: javax.mail.AuthenticationFailedException: 535 5.7.3 Authentication unsuccessful [SG2PR06CA0128.apcprd06.prod.outlook.com]**

@Waseem1983
Copy link

It seems this app is working with any SMTP provider other than office365, it worked fine for me with Google and yahoo accounts but not office365!!
Sep 12, 2018 10:53:17 AM SendEmailOffice365 sendEmail
WARNING: Erro ao enviar mensagem: 535 5.7.3 Authentication unsuccessful [VI1P18901CA0001.EURP189.PROD.OUTLOOK.COM]

javax.mail.AuthenticationFailedException: 535 5.7.3 Authentication unsuccessful [VI1P18901CA0001.EURP189.PROD.OUTLOOK.COM]

@SantoshBabar
Copy link

I am too facing the same issue. Any solution over this?

@cromeroc-OC
Copy link

good

@sujeetkalaskar
Copy link

I am facing the below exception.
javax.mail.MessagingException: Could not connect to SMTP host: smtp.office365.com, port: 587;
nested exception is:
java.net.ConnectException: Connection timed out: connect

But using any online tool i am able to send the mail.
Please help to resolve this issue

@zubairmujeeb
Copy link

hi any resolution?

@zubairmujeeb
Copy link

I am facing the above same error.

@DaveB93
Copy link

DaveB93 commented Apr 7, 2022

To get this to work now, add
config.put("mail.smtp.ssl.protocols", "TLSv1.2");

@SalahEddineElBachiri
Copy link

@DaveB93 the same problem , i added the line you suggested

@Manikantan1991
Copy link

Still Same issue even after adding put("mail.smtp.ssl.protocols", "TLSv1.2");

Can some one Please help me.

Exception in thread "main" java.lang.RuntimeException: javax.mail.AuthenticationFailedException: 535 5.7.139 Authentication unsuccessful, SmtpClientAuthentication is disabled for the Mailbox. Visit https://aka.ms/smtp_auth_disabled for more information. [MA0PR01CA0045.INDPRD01.PROD.OUTLOOK.COM 2023-05-23T14:34:28.089Z 08DB5B06995FDBBD]

at Outlook_Mail.sendMail.main(sendMail.java:166)

Caused by: javax.mail.AuthenticationFailedException: 535 5.7.139 Authentication unsuccessful, SmtpClientAuthentication is disabled for the Mailbox. Visit https://aka.ms/smtp_auth_disabled for more information. [MA0PR01CA0045.INDPRD01.PROD.OUTLOOK.COM 2023-05-23T14:34:28.089Z 08DB5B06995FDBBD]

@kgalarza95
Copy link

¿No hubo solución enotnces?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment