Comment puis-je régler l'attribut “name” dans un e-mail

Je suis l'envoi de mail avec Java mail et un serveur SMTP. Je veux être en mesure de changer le "nom" que le destinataire voit lorsqu'ils reçoivent un message e-mail - et non pas simplement le préfixe de l'adresse de courriel (le bit avant @).

Je soupçonne que j'ai besoin de changer ou d'ajouter des 'accessoires.put();' les paramètres mais je ne peux pas travailler qui.

public class Email {
private final String HOST = "mail.myserverr.com";
private final String USER = "me+myserver.com";
private final String FROM = "[email protected]";
private final String PASS = "mypass";
private final String PORT = "25";
private final String AUTH = "true";
@Test
public void sendMail(){
String[] to = {"[email protected]","me@myservercom"};
sendMessage(to,"Let's go","What's up");
}
public void sendMessage(String[] to, String subject, String msg) {
Properties props = System.getProperties();
props.put("mail.smtp.starttls.enable", "true"); //added this line
props.put("mail.smtp.host", HOST);
props.put("mail.smtp.user", USER);
props.put("mail.smtp.password", PASS);
props.put("mail.smtp.port", PORT);
props.put("mail.smtp.auth", AUTH);
props.put("mail.smtp.socketFactory.port", PORT);
props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
props.put("mail.smtp.socketFactory.fallback", "false");
Session session = Session.getDefaultInstance(props, null);
MimeMessage message = new MimeMessage(session);
try {
message.setFrom(new InternetAddress(FROM));
InternetAddress[] toAddress = new InternetAddress[to.length];
//To get the array of addresses
for( int i=0; i < to.length; i++ ) { //changed from a while loop
toAddress[i] = new InternetAddress(to[i]);
}
for( int i=0; i < toAddress.length; i++) { //changed from a while loop
message.addRecipient(Message.RecipientType.TO, toAddress[i]);
}
message.setSubject(subject);
message.setText(msg);
Transport transport = session.getTransport("smtps");
transport.connect(HOST, USER, PASS);
transport.sendMessage(message, message.getAllRecipients());
transport.close();
} catch (AddressException e) {
e.printStackTrace();
} catch (MessagingException e) {
e.printStackTrace();
}
}
}

OriginalL'auteur Ankur | 2012-04-16