我正在使用Linode Server中的此Java类发送电子邮件。奇怪的是,我在我的帐户nunito@gmail.com收到了电子邮件,但没有收到nunito@domainCompanynameA.com的电子邮件
String from = "info@domainCompanynameB.com";
// Assuming you are sending email from localhost
String host = "localhost";
// Get system properties
Properties properties = System.getProperties();
// Setup mail server
properties.setProperty("mail.smtp.host", host);
// Get the default Session object.
Session session = Session.getDefaultInstance(properties);
try{
// Create a default MimeMessage object.
MimeMessage message = new MimeMessage(session);
// Set From: header field of the header.
message.setFrom(new InternetAddress(from));
// Set To: header field of the header.
message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
// Set Subject: header field
message.setSubject("Alert from LINODE");
// Now set the actual message
message.setText(msg);
// Send message
Transport.send(message);
System.out.println("Sent message successfully....");
}catch (MessagingException mex) {
mex.printStackTrace();
}
我已将其更改为
public class MailClient {
protected static final Logger looger = LoggerFactory.getLogger(MailClient.class);
@Autowired
private JavaMailSender mailSender;
private MailContentBuilder mailContentBuilder;
@Autowired
public MailClient(JavaMailSender mailSender, MailContentBuilder mailContentBuilder) {
this.mailSender = mailSender;
this.mailContentBuilder = mailContentBuilder;
}
//TODO: in a properties
public void prepareAndSend(String recipient, String message) {
MimeMessagePreparator messagePreparator = mimeMessage -> {
MimeMessageHelper messageHelper = new MimeMessageHelper(mimeMessage);
messageHelper.setFrom("info@domainCompanynameB.com");
messageHelper.setTo(recipient);
messageHelper.setSubject("Sample mail subject");
String content = mailContentBuilder.build(message);
messageHelper.setText(content, true);
};
try {
if (looger.isDebugEnabled()) {
looger.debug("sending email to " + recipient);
}
mailSender.send(messagePreparator);
} catch (MailException e) {
looger.error(e.getMessage());
}
}
}
但我遇到了同样的问题
答案 0 :(得分:0)
逻辑上,如果您收到一封电子邮件,而不是您的发件人软件有问题。此问题与您的mail.smtp.host
服务器或domainCompanynameA.com
高度相关。
由于mail.smtp.host
可以向gmail
发送一些内容。我怀疑domainCompanynameA.com
因各种原因阻止了您的mail.smtp.host
。
解决此问题的一种方法是在mail.smtp.host
处将domainCompanynameA.com
列入白名单。
否则需要调查以确定确切问题的来源。
我强烈建议使用第三方电子邮件api服务,因此它们受到信任和维护。