javax.mail.MimeMessage中から名前を設定しますか?
-
21-09-2019 - |
質問
現在、私たちのアプリケーションはjavax.mail.MailMessageを使用して、電子メールを送信するためのjavax.mailを使用しています。私たちは、電子メールのヘッダから、この方法を設定します:
Message msg = new MimeMessage(mailSession);
msg.setFrom(new InternetAddress("mail@companyxyz.com"));
これはうまく動作しますが、我々はセクション「から」もう少しユーザーフレンドリーにしたいと思います。現在、電子メールを受信誰かが自分の受信トレイの「差出人」セクションの「mail@companyxyz.com」を参照してくださいます。代わりに、我々は彼らが「XYZ社」を見てみたいと思います。私は、これはおそらくのaddHeader()メソッドで行われ把握、私はヘッダ名がどうなるかわかりません。
解決
OK、関係するすべてのクラスについてのドキュメントを読んで参考にされているだろう。正しい構文をする必要があります。
Message msg = new MimeMessage(mailSession);
msg.setFrom(new InternetAddress("mail@companyxyz.com", "Company XYZ"));
ソース: https://javamail.java。ネット/ nonav /ドキュメント/ API / javaxの/メール/インターネット/ InternetAddress.htmlする
他のヒント
あなたは電子メールを保存したい場合は+ 1つの文字列(2つの文字列を維持するよりも簡単)での名前:
Message msg = new MimeMessage(mailSession);
msg.setFrom(new InternetAddress("Company XYZ <mail@companyxyz.com>"));
私は\ u00FA Iなどの特殊文字でローカライズされたテキストを使用する場合には持っていた私はちょうど使用したい場合、いくつかのPOP3クライアント用の電子メールアドレスのエイリアスをコードに問題
MimeMessage m = new MimeMessage(session);
m.setFrom();
これは、呼び出しによって別のメールアドレスとエイリアスによって解決することができます:
MimeMessage m = new MimeMessage(session);
m.setFrom(new InternetAddress(session.getProperty("mail.from"), session.getProperty("mail.from.alias"),"UTF8"));
参照:<のhref = "https://javamail.java.net/nonav/docs/api/javax/mail/internet/InternetAddress.html#InternetAddress(java.lang.String,%20java.lang.String 、%20java.lang.String)」REL = "nofollowを"> https://javamail.java.net/nonav/docs/api/javax/mail/internet/InternetAddress.html#InternetAddress(java.lang.Stringで、% 20java.lang.String、%20java.lang.String)の
ic = new InitialContext();
final Session session = (Session) ic.lookupLink(snName);
final Properties props = session.getProperties();
props.put("mail.from", mailFrom); //blabla@mail.com
props.put("mail.from.alias", mailName);//"joao Ninguem"
// Create a message with the specified information.
final MimeMessage msg = new MimeMessage(session);
msg.setSubject(subject);
msg.setSentDate(new Date());
msg.setFrom(new InternetAddress(session.getProperty("mail.from"), session.getProperty("mail.from.alias"), "UTF8"));
msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(mailTo, false));
msg.setContent(body, "text/html");
// Create a transport.
Transport.send(msg);