2017-09-02 58 views
1

我正在使用java郵件API發送郵件。我想發件人名稱發件人的名字在我的例子發件人郵件地址被其他名稱[email protected],但我想,在收件箱中 這裏是另一個名字是我的榜樣如何在收件箱中設置發件人名稱而不是發件人名稱用java中的其他名稱

import java.util.Properties; 
import javax.mail.*; 
import javax.mail.internet.*; 

public class send{ 
public static void main(String[] args) { 

    String host="smtp.gmail.com"; 
    final String from="[email protected]";//change accordingly 
    final String password="12345";//change accordingly 

    String to="[email protected]";//change accordingly 

    //Get the session object 
    Properties props = new Properties();  
    props.put("mail.smtp.auth", "true"); 
    props.put("mail.smtp.starttls.enable", "true"); 
    props.put("mail.smtp.host", host); 
    props.put("mail.smtp.port", "587"); 

    Session session = Session.getDefaultInstance(props, 
    new javax.mail.Authenticator() { 
     protected PasswordAuthentication getPasswordAuthentication() { 
    return new PasswordAuthentication(from,password); 
     } 
    }); 

    //Compose the message 
    try { 
    MimeMessage message = new MimeMessage(session); 
    message.setFrom(new InternetAddress(from)); 
    message.addRecipient(Message.RecipientType.TO,new InternetAddress(to)); 
    message.setSubject("Test"); 
    message.setText("hello"); 
    //send the message 
    Transport.send(message); 

    System.out.println("message sent successfully..."); 

    } catch (MessagingException e) {e.printStackTrace();} 
} 
} 

任何一個能幫助我嗎?

回答

0

InternetAddress可以使用這樣的:InternetAddress(mail, alias),這意味着你要改變

message.setFrom(new InternetAddress(from)); 

message.setFrom(new InternetAddress(from, "Your Name")); 

現在不是[email protected]收件人將看到Your Name作爲發件人名稱。

+0

我應該從哪裏通過progaramm地址?已經從我的程序中有地址 – bharath

+0

查看答案,說得更清楚。 – campovski

+0

是的,但是它的出現像John Doe <[email protected]>。我希望這是John Doe ,並且在收件箱中,發件人姓名將像[email protected]一樣,但不是John [email protected] – bharath

相關問題