gpt4 book ai didi

javax.mail 不包括电子邮件中的发件人姓名

转载 作者:行者123 更新时间:2023-11-29 05:44:30 24 4
gpt4 key购买 nike

无论我尝试什么,我都无法让发件人姓名显示在通过 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>")

但这没有任何区别。

有人遇到过这个错误吗?

谢谢。

最佳答案

真痛苦。

错误是我使用的是 message.setSender 而不是 message.setFrom。

改变它解决了它。

关于javax.mail 不包括电子邮件中的发件人姓名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16326221/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com