在 javax.mail.MimeMessage 中设置 from 名称?

2022-08-31 22:39:52

目前,我们的应用程序使用javax.mail发送电子邮件,使用javax.mail.MailMessage。我们按以下方式设置电子邮件的“发件人”标头:

Message msg = new MimeMessage(mailSession);
msg.setFrom(new InternetAddress("mail@companyxyz.com"));

这工作得很好,但我们希望使“From”部分更加用户友好。目前,收到电子邮件的用户将在收件箱的“发件人”部分中看到“mail@companyxyz.com”。相反,我们希望他们在那里看到“公司XYZ”。我想这可能是用addHeader()方法完成的,但我不确定标题名称会是什么。


答案 1

好的,阅读有关所有涉及的类的文档会有所帮助。正确的语法应该是

Message msg = new MimeMessage(mailSession);
msg.setFrom(new InternetAddress("mail@companyxyz.com", "Company XYZ"));

资料来源:https://javamail.java.net/nonav/docs/api/javax/mail/internet/InternetAddress.html


答案 2

如果要将电子邮件+名称存储在一个字符串中(比保留两个字符串更容易):

Message msg = new MimeMessage(mailSession);
msg.setFrom(new InternetAddress("Company XYZ <mail@companyxyz.com>"));

推荐