我正在调试过去工作的电子邮件实现,并决定排除smtp服务器问题。我找到了关于在gmail上实现Insert Picture
的{{3}}教程。
我在某种程度上根据我的需要进行了调整,但应用程序使用我的本地计算机用户和主机而不是代码中的给定。
java mail
控制台错误是:
static Properties mailServerProperties;
static Session getMailSession;
static MimeMessage generateMailMessage;
public static void main(String args[]) throws AddressException, MessagingException {
generateAndSendEmail();
System.out.println("\n\n ===> Your Java Program has just sent an Email successfully. Check your email..");
}
public static void generateAndSendEmail() throws AddressException, MessagingException {
// Step1
System.out.println("\n 1st ===> setup Mail Server Properties..");
mailServerProperties = System.getProperties();
mailServerProperties.put("mail.smtp.port", "587");
System.out.println("Mail Server Properties have been setup successfully..");
// Step2
System.out.println("\n\n 2nd ===> get Mail Session..");
getMailSession = Session.getDefaultInstance(mailServerProperties, null);
generateMailMessage = new MimeMessage(getMailSession);
generateMailMessage.addRecipient(Message.RecipientType.TO, new InternetAddress("destination@email.com"));
generateMailMessage.setSubject("Greetings");
String emailBody = "Test email";
generateMailMessage.setContent(emailBody, "text/html");
System.out.println("Mail Session has been created successfully..");
// Step3
System.out.println("\n\n 3rd ===> Get Session and Send mail");
Transport transport = getMailSession.getTransport("smtp");
// Enter your correct UserID and Password
// if you have 2FA enabled then provide App Specific Password
transport.connect("smtp.server.com", 587, "sender@email.com", "password");
transport.sendMessage(generateMailMessage, generateMailMessage.getAllRecipients());
transport.close();
}
如何解决?