2012-12-19 65 views
1

我有一個在線表單,允許用戶通過電子郵件向公司發送投訴。爲了測試它,我使用Gmail作爲我的主機。當發件人也是gmail時,我沒有問題接收郵件到指定的電子郵件帳戶,但我希望「發件人」不僅限於Gmail賬戶。看起來smtp僅適用於從同一臺服務器發送電子郵件?使用Java Mail API將電子郵件從一臺地址服務器發送到另一臺服務器

示例:如果from爲[email protected]且公司電子郵件爲[email protected],那麼我的表單工作得很好。

但是,如果爲發件人輸入[email protected],接收方[email protected]永遠不會獲取它。

任何幫助將不勝感激。如果需要的話,我也可以提供我的代碼。

+0

它可能會作爲垃圾郵件到達,也許是由於被懷疑爲網絡釣魚。 – ppsreejith

+0

你總是可以使用不同的繼電器。 Google在通過服務器防止垃圾郵件方面非常嚴格。 – Perception

+0

感謝您的回覆傢伙。我只使用Gmail進行測試,但真正的形式將使用Microsoft Outlook。您知道Outlook是否允許您將其他服務器(如hotmail,yahoo,gmail)的電子郵件發送到公司的Outlook地址? – user1914116

回答

0

那麼你將不得不擁有其他電子郵件,並將其設置爲使用Gmail, 檢查here瞭解更多詳情。

1

使用SMTP時,您的問題是常見的安全限制。發送SMTP電子郵件只能包含屬於發件人的「來自」郵件地址。如果您違反此規則,您的電子郵件可能被視爲垃圾郵件。

以下將允許您的收件人回覆替代地址。

Properties properties = new Properties(); 
props.put("mail.smtp.from", "[email protected]"); 
Session session = Session.getDefaultInstance(props, null); 
MimeMessage m = new MimeMessage(session); 
m.addFrom(InternetAddress.parse("[email protected]")); 
m.setReplyTo(InternetAddress.parse("[email protected]")); 

+0

對不起,我做了一堆編輯。我無法記住如何正確執行此操作。 – mikeslattery

+0

感謝您的回覆Mike。那麼這將使「發件人」等於發件人的電子郵件?我正在尋找的是將發件人的電子郵件輸入到我的表單中,以便在Microsoft Outlook電子郵件帳戶的「發件人」字段中進行設置。 – user1914116

+0

迴應你的評論,我更新了我的答案。這會將回復標題和標題設置爲yahoo.com地址,但SMTP「來自郵件」字段將使用gmail.com地址。再一次,我已經做了很長一段時間,但我必須在過去解決你確切的問題。 – mikeslattery

0

它可能更好地利用用戶的誰擁有對應用程序的身份信息發送到您的公司的郵件服務器見服務器,並將客戶在聯機表單中提供的信息包含在您發送的消息中的數據中。該消息看起來不像是來自客戶,但它確實不是來自客戶,因爲它不是使用客戶的郵件服務器發送的。

+0

比爾這是一個好點,我決定採取的路線。我正在對他們的系統進行升級,他們正在以另一種方式進行升級。我很好奇這是如何實現的,但爲了不破解代碼,我會按照你的建議來做。 – user1914116

相關問題