2011-11-29 66 views
2

我們從本地系統發送郵件。 我們將IP列入白名單。 我們有一個場景,我們必須代表某人發送電子郵件。 爲前:我們的電子郵件ID:[email protected] 但我們需要一個從地址發送電子郵件:[email protected]Java發送郵件 - 如何使用「發送通過」

當我們用不同的發送者地址,接收郵件客戶端顯示「網絡釣魚「錯誤。 的解決方案之一是使用「內經」在谷歌鏈接 https://mail.google.com/support/bin/answer.py?hl=en&ctx=mail&answer=185812 enter image description here

我們也希望在收件箱中接收要顯示這樣的消息dispayed。這個任何指針都會幫助我們很多。 在此先感謝。 注意:我們使用localhost作爲smtp。

回答

1
Read about email headers. you can add email headers while creating the mail message at runtime. 

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

    public void postMail(String recipients[ ], String subject, String message , String from) throws MessagingException 
    { 
     boolean debug = false; 

     //Set the host smtp address 
     Properties props = new Properties(); 
     props.put("mail.smtp.host", "smtp.jcom.net"); 

     // create some properties and get the default Session 
     Session session = Session.getDefaultInstance(props, null); 
     session.setDebug(debug); 

     // create a message 
     Message msg = new MimeMessage(session); 

     // set the from and to address 
     InternetAddress addressFrom = new InternetAddress(from); 
     msg.setFrom(addressFrom); 

     InternetAddress[] addressTo = new InternetAddress[recipients.length]; 
     for (int i = 0; i < recipients.length; i++) 
     { 
      addressTo[i] = new InternetAddress(recipients[i]); 
     } 
     msg.setRecipients(Message.RecipientType.TO, addressTo); 


     // Optional : You can also set your custom headers in the Email if you Want 
     msg.addHeader("MyHeaderName", "myHeaderValue"); 

     // Setting the Subject and Content Type 
     msg.setSubject(subject); 
     msg.setContent(message, "text/plain"); 
     Transport.send(msg); 
    } 


for further reading check this : 

http://www.javacommerce.com/displaypage.jsp?name=javamail.sql&id=18274 http://javamail.kenai.com/nonav/javadocs/javax/mail/internet/package-summary.html @http://javamail.kenai.com/nonav/javadocs/ javax/mail/internet/MimeMessage.html

您也可以爲smtp服務器創建別名。

+0

嗨Shashwat,謝謝你的信息。你可以讓我知道實際的標題設置「通過」。我搜索,也無法從Java郵件API獲取信息。再次感謝。 –

+0

public void postMail(String recipients [],String subject,String message,String from)throws MessagingException這裏最後一個參數是String,只是試圖給你從這裏的地址,並檢查我認爲它會工作 – Infinity

+0

嗨Shaswath,從地址給出正在將該郵件標記爲垃圾郵件或網絡釣魚郵件 –