2011-01-11 156 views
2

我已經達到了我的SMTP/postfix知識的極限。發送郵件後發送郵件地址(GMail postfix relay)

我使用javamail 1.4發送郵件。 javamail庫連接到本地postfix進程。後綴進程被配置爲通過gmail中繼郵件。

relayhost = smtp.gmail.com:587 

使用JavaMail lib下,我是從地址設置。但是,當郵件在我的收件箱中結束時,它來自我用來登錄到Gmail服務器的用戶。

例如,在我的代碼中,我將設置爲[email protected]。 postfix被配置爲通過gmail中繼郵件,並使用user1和密碼登錄到smtp服務器。郵件在我的收件箱中結束,好像它從[email protected](並且沒有提及[email protected],當我從我的Gmail收件箱查看「原始」時)。

值得一提的是,我在javamail上使用了Spring 3.0的庫(MimeMessageHelper)。

+0

我會嘗試手動發送相同的電子郵件,根本沒有Java/Spring代碼。在您的命令行中嘗試使用「telnet smtp.local.network 110」等。如果遇到同樣的問題,則表示問題出在SMTP基礎結構上。否則,你會想看看你如何用Java發送電子郵件。 – 2011-01-12 07:29:34

回答

9

Google正在重寫郵件上的標題以匹配SMTP會話的已認證用戶。 You can register other email addresses with your GMail account(「自定義發件人地址」),在這種情況下,From標題中會接受其他地址(儘管GMail會將標識的用戶添加到Sender標題中)。 If you choose to use Google's SMTP server, there appears to be no way around this.

+0

這是爲了防止人們從他們沒有發送權限的地址發送郵件...... – 2011-01-12 21:26:07