1

何を試しても、javax.mail セッション クラスを介して送信される送信メールに送信者名が表示されません。

私は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>")

しかし、これは何の違いもありません。

誰もこのバグの経験がありますか?

ありがとう。

4

2 に答える 2

1

同じ問題があるのでクリアしたい

// sender the email string example test@test.com

message.setFrom(new InternetAddress(sender));
于 2016-08-29T12:54:45.910 に答える