我正在使用 Spring java 邮件程序类向我的用户发送电子邮件消息:org.springframework.mail.javamail.JavaMailSenderImpl 版本 1.4,使用 Spring 框架 3.0.7.RELEASE。
我想为失败的电子邮件设置退回消息,以发送到我的用户的电子邮件地址,该地址与我的 smtp 服务器的域不同。有谁知道实现这一目标的方法?例如:我的系统向 email-does-not-exist@gmail.com 发送电子邮件。我的 smtp 服务器配置为具有域 somebusiness.com。失败后,将退回邮件发送给我的用户:test.user@gmail.com。
我多次阅读以下文章: 指定电子邮件的退回地址
我尝试使用他们设置 mail.smtp.from 属性的方法,但它根本不会发送任何电子邮件(甚至还没有计算来自无效电子邮件的退回尝试)。
Properties p = new Properties();
p.put("mail.smtp.from", "test.user@gmail.com"); //If I comment this out, it sends emails again
mailSender.setJavaMailProperties(p);
Session session = Session.getDefaultInstance(p, null);
MimeMessage mimeMessage = new MimeMessage(session);
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage,
false, "utf-8");
mimeMessage.setContent(emailBody, "text/html");
helper.setTo(toAddress);
helper.setSubject(subject);
helper.setFrom(fromAddress);
mailSender.send(mimeMessage);
有人知道为什么吗?显而易见的答案似乎是我们使用的 smtp 服务器正在阻止它,但我希望有其他潜在的想法。