[英]javax.mail not including Sender Name in emails
无论我尝试什么,我都无法通过javax.mail Session类发送的传出邮件中显示发件人名称。
请注意我正在使用Rhino,因此这里有javascript和java的混合,但代码问题也存在于纯java中。
var _java = JavaImporter(javax.mail, javax.mail.internet, java.util);
var props = new _java.Properties();
props.put("mail.smtp.host", myHost);
props.put("mail.smtp.port", "465");
props.put("mail.smtp.user", myUserName);
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.socketFactory.port", 465);
props.put("mail.smtp.socketFactory.class",
"javax.net.ssl.SSLSocketFactory");
props.put("mail.smtp.socketFactory.fallback", "false");
props.put("mail.smtp.ssl", "true");
var session = _java.Session.getInstance(props);
var message = _java.MimeMessage(session);
message.setSender(
new _java.InternetAddress("myEmailAddress", "My Full Name")
);
message.setRecipients(
_java.Message.RecipientType.TO,
[new _java.InternetAddress("anyAddress@anydomain.com", true)]
);
message.setText("Testing");
message.setSubject("Test");
message.setSentDate(new Date());
var t = session.getTransport("smtp");
t.connect(myUserName, myPassword);
t.sendMessage(message, message.getAllRecipients());
通过的电子邮件有:
Sender: Personal Name <email@domain.com>
但是始终是:
From: email@domain.com
因此,Outlook和Gmail等邮件客户端并没有提取名称。
我试过添加
props.put("mail.smtp.from", "Full Name <email@domain.com>")
但这没有任何区别。
有人有这个bug的经验吗?
谢谢。
太痛苦了。
错误是我使用的是message.setSender而不是message.setFrom。
改变解决了它。
我想澄清它,因为我有同样的问题
// sender the email string example test@test.com
message.setFrom(new InternetAddress(sender));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.