Frage

Derzeit, unsere Anwendung verwendet eine javax.E-mail senden E-Mail, mit javax.E-mail.MailMessage.Setzen wir die Aus dem Header der E-Mail-auf diese Weise:

Message msg = new MimeMessage(mailSession);
msg.setFrom(new InternetAddress("mail@companyxyz.com"));

Das funktioniert gut, aber wir möchten die "Aus" - Abschnitt ein wenig mehr Benutzer-freundliche.Derzeit, die jemand Erhalt einer E-Mail sehen "mail@companyxyz.com" in der "Aus" - Abschnitt, der Ihrem Posteingang.Stattdessen, wir möchten, dass Sie finden Sie unter "Firma XYZ" gibt.Ich vermute, dies ist wahrscheinlich fertig mit der addHeader () - Methode, aber ich bin mir nicht sicher, was der header-name wäre.

War es hilfreich?

Lösung

OK, das Lesen der Dokumentation über alle beteiligten Klassen wäre hilfreich gewesen. Die richtige Syntax sollte

Message msg = new MimeMessage(mailSession);
msg.setFrom(new InternetAddress("mail@companyxyz.com", "Company XYZ"));

Quelle: https://javamail.java. net / nonav / docs / api / javax / mail / Internet / InternetAddress.html

Andere Tipps

Wenn Sie die E-Mail speichern möchten + den Namen in eine Zeichenfolge (einfacher als zu halten zwei string):

Message msg = new MimeMessage(mailSession);
msg.setFrom(new InternetAddress("Company XYZ <mail@companyxyz.com>"));

Im Fall wenn ich in den lokalisierten text mit Sonderzeichen wie \u00FA ich hatte Probleme mit der Kodierung E-Mail-Adresse ein alias für einige pop3-clients, wenn ich nur

MimeMessage m = new MimeMessage(session);
m.setFrom();

Es können gelöst werden durch separate E-Mail-Adresse und die alias-Namen aufrufen:

MimeMessage m = new MimeMessage(session);
            m.setFrom(new InternetAddress(session.getProperty("mail.from"), session.getProperty("mail.from.alias"),"UTF8"));

ref: 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);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top