remitente persona otro otra office fuera enviar desde correo con como celular java email outlook

java - persona - ¿Cómo enviar un correo electrónico usando mi cuenta de Outlook?



enviar correo desde alias office 365 (1)

Intenta escribir tu propia clase de Authenticator

import javax.mail.Authenticator; import javax.mail.PasswordAuthentication; public class SMTPAuthenticator extends Authenticator { private String userName; private String password; public void setUserName(String userName) { this.userName = userName; } public String getUserName() { return userName; } public void setPassword(String password) { this.password = password; } public String getPassword() { return password; } public SMTPAuthenticator(String userName,String password){ this.userName=userName; this.password=password; } public PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(userName, password); } }

Luego úsala para crear la sesión:

SMTPAuthenticator authenticator = new SMTPAuthenticator(username, password); Properties properties = new Properties(); properties.setProperty("mail.smtp.submitter", authenticator.getPasswordAuthentication().getUserName()); properties.setProperty("mail.smtp.auth", "true"); properties.setProperty("mail.smtp.host", "outlook.office365.com"); properties.setProperty("mail.smtp.port", "587"); Session session = Session.getInstance(properties, authenticator);

También elimine esta línea si no tiene conexión TSL protegida

props.put("mail.smtp.starttls.enable", "true");

Estoy intentando este código:

import java.io.IOException; 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 NewClass { public static void main(String[]args)throws IOException { final String username = "prashantsood_90"; final String password = "password"; Properties props = new Properties(); props.put("mail.smtp.auth", "true"); props.put("mail.smtp.starttls.enable", "true"); props.put("mail.smtp.host", "outlook.office365.com"); props.put("mail.smtp.port", "587"); Session session = Session.getInstance(props, new javax.mail.Authenticator() { protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(username, password); } }); try { Message message = new MimeMessage(session); message.setFrom(new InternetAddress("[email protected]")); message.setRecipients(Message.RecipientType.TO, InternetAddress.parse("[email protected]")); message.setSubject("Test"); message.setText("HI"); Transport.send(message); System.out.println("Done"); } catch (MessagingException e) { throw new RuntimeException(e); } } }

Está dando esta excepción:

Exception in thread "main" java.lang.RuntimeException: 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 at NewClass.main(NewClass.java:47) Caused by: 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 at javax.mail.Transport.send0(Transport.java:218) at javax.mail.Transport.send(Transport.java:80) at NewClass.main(NewClass.java:42) Java Result: 1

Amablemente ayúdame a enviar correos electrónicos desde mi cuenta de Outlook a Gmail o cualquier otra cuenta. No puedo enviar usando la cuenta de Outlook, pero puedo enviar mensajes de Gmail a Gmail.