it-swarm.com.de

Festlegen des from-Namens in einer javax.mail.MimeMessage?

Derzeit verwendet unsere Anwendung eine javax.mail zum Senden von E-Mails mithilfe von javax.mail.MailMessage. Wir setzen die From-Header der E-Mail folgendermaßen:

Message msg = new MimeMessage(mailSession);
msg.setFrom(new InternetAddress("[email protected]"));

Das funktioniert gut, aber wir möchten den Abschnitt "Von" benutzerfreundlicher gestalten. Derzeit wird jemandem, der eine E-Mail erhält, "[email protected]" im Abschnitt "Von" seines Posteingangs angezeigt. Stattdessen möchten wir, dass sie dort "Company XYZ" sehen. Ich denke, das wird wahrscheinlich mit der addHeader () -Methode gemacht, aber ich bin nicht sicher, wie der Name der Überschrift aussehen würde. 

42
abeger

OK, das Lesen der Dokumentation über ALLE beteiligten Klassen wäre hilfreich gewesen. Die korrekte Syntax sollte sein 

Message msg = new MimeMessage(mailSession);
msg.setFrom(new InternetAddress("[email protected]", "Company XYZ"));

Quelle: https://javamail.Java.net/nonav/docs/api/javax/mail/internet/InternetAddress.html

99
abeger

Wenn Sie die E-Mail + den Namen in einer Zeichenfolge speichern möchten (einfacher als zwei Zeichenfolgen zu behalten):

Message msg = new MimeMessage(mailSession);
msg.setFrom(new InternetAddress("Company XYZ <[email protected]>"));
15
checklist

Wenn ich lokalisierten Text mit Sonderzeichen wie\u00FA verwendet habe, hatte ich Probleme mit der Verschlüsselung des E-Mail-Adressalias für einige pop3-Clients, wenn ich nur verwendet hätte 

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

Es kann durch separate E-Mail-Adresse und Aliasnamen durch Aufrufen aufgelöst werden:

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)

0
Adrian Adzik
ic = new InitialContext();

final Session session = (Session) ic.lookupLink(snName);
final Properties props = session.getProperties();

props.put("mail.from", mailFrom); //[email protected]
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);
0
Rodrigo Turassa