繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM