1、错误栈:
com.sun.mail.smtp.SMTPSendFailedException: 500 Error: bad syntax
at com.sun.mail.smtp.SMTPTransport.issueSendCommand(SMTPTransport.java:2267)
at com.sun.mail.smtp.SMTPTransport.mailFrom(SMTPTransport.java:1758)
at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:1257)
at org.springframework.mail.javamail.JavaMailSenderImpl.doSend(JavaMailSenderImpl.java:448)
at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:345)
at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:340)
at net.huixiadan.mail.handler.SendMail.main(SendMail.java:83)
2、代码:
public static void main(String[] args) throws MessagingException {
JavaMailSenderImpl sender = new JavaMailSenderImpl();
sender.setHost("smtp.xxx.com");
String username = "xxxxx@xxx.com";
sender.setUsername(username);
sender.setPassword("abcdedg1234567xxxxx");
MimeMessage message = sender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(message, "utf-8");
// helper.setFrom(username);
String[] to = {" xxx@xxx.com", "xxxx@xxx.com"};
helper.setTo(to);
helper.setText("<a href='#'>测试邮件</a>", true);
sender.send(message);
// SimpleMailMessage msg = new SimpleMailMessage();
// msg.setFrom(username);
// msg.setTo("xxx@xxx.com");
// msg.setText("测试邮件");
// sender.send(msg);
}
3、原因:参数传递问题,代码中少了from 发件人参数(被注释掉的第9行代码)。
这个坑是看spring-mail文档踩的,本想偷懒,复制粘贴、传最少的参数发一份测试邮件,结果掉坑里了,损失时间,希望可以帮到踩坑人
参考:
spring-mail文档:https://docs.spring.io/spring/docs/5.1.17.RELEASE/spring-framework-reference/integration.html#mail-javamail-mime