我使用org.springframework.mail包中的SimpleMailMessage发送邮件。但是接收方显示发件人的地址。我想设置他的名字。将使用哪种方法?SimpleMailMessage Class中是否有可用的方法?我正在使用带休眠的春天。
码
public void sendmail(){
String emailSubject = "Test Message";
String emailBody = "For testing";
SimpleMailMessage simpleMailMessage = new SimpleMailMessage();
simpleMailMessage.setTo("sendermailid@gmail.com");
simpleMailMessage.setCc("receivermailid@gmail.com");
simpleMailMessage.setSubject(emailSubject);
simpleMailMessage.setText(emailBody);
mailSender.send(simpleMailMessage);
}
答案 0 :(得分:4)
使用Spring的MimeMessageHelper设置发件人姓名和地址。
MimeMessagePreparator mailMessage = mimeMessage -> {
MimeMessageHelper message = new MimeMessageHelper(
mimeMessage, true, "UTF-8");
message.setFrom(senderEmail, senderName);
[...]
};
mailSender.send(mailMessage);
另请参阅我的代码段in this answer。
答案 1 :(得分:0)
我遇到了不显示发件人姓名的问题。 我在 spring application.properties 文件中的属性是
sender.email.address=Some Name <noreply@somedomain.com>
.
我检查了许多选项,除了简单的连字符 (-) 包含之外,没有一个有效。我刚刚在电子邮件地址中添加了一个连字符,如下所示,它开始工作了
sender.email.address=Some Name <no-reply@somedomain.com>
.
如果您有更好的解决方法,请告诉我您的建议,我已准备好学习。