配置本地 SMTP 伺服器以在 Windows 上通過 gmail 中繼的最簡單方法?
我們的公司電子郵件提供商有 gmail。
我希望能夠通過
smtp.gmail.com
ASP.NET 發送郵件。我已經成功地做到了這一點 - 它的好處是所有已發送的項目都出現在 gmail 中正確的已發送項目文件夾中。但是,最多可能需要 2-3 秒才能連接到smtp.gmail.com
. 有時它甚至會完全失敗。由於這是 ASP.NET 應用程序,我需要能夠可靠地發送電子郵件。我不想自己創建一些電子郵件守護程序——我只想依賴 SMTP。我已經嘗試在 IIS6 上使用虛擬 SMTP 伺服器,但無法讓它工作。一個活動
current session
最多顯示一分鐘,然後消失。我是否需要使用sendmail之類的東西來執行此操作- 或者其他一些可以讓我更好控制的免費 SMTP 中繼?我什至發現了一個名為“ Gmail SMTP Relay ”的 sourceforge 項目——我們使用的託管伺服器已經安裝——它有自己的 SMTP 伺服器。
我更喜歡圖形化的東西 - 最重要的是我更喜歡 Microsoft SMTP 伺服器,因為我已經安裝了它。
在這裡找到了我所需要的解釋(使用 IIS 時):
我正在使用此 C# 程式碼發送郵件
var client = new SmtpClient("127.0.0.1", 587); client.EnableSsl = false;
注意:我的 C# 應用程序和我的本地 SMTP 伺服器之間的通信未加密(因此 EnableSsl=false) - 但我的 SMTP 伺服器和 GMAIL 之間的通信是加密的(有關更多資訊,請參閱連結文件)。
**重要提示:**如果您使用 Microsoft SMTP 客戶端中繼郵件,請確保“預設 SMTP 虛擬伺服器 > 域”列表中沒有任何域。如果是這樣,任何發往這些域的電子郵件最終都會收到
C:\Inetpub\mailroot\Drop
- 在這種情況下,這可能不是您想要的。在外發郵件實際上沒有發出問題後,我剛剛重命名mydomain.com
為(字面意思) 。example.com
我為此奮鬥了幾個星期。以下是我在 3 個使用 SMTP 網關發送電子郵件的 ASP.NET 網站上使用的設置:
地址:smtp.gmail.com 埠:587
1)埠很重要。您可能必須在 SMTP 伺服器中輸入 smtp.gmail.com:587 之類的內容。我已經很多年沒有接觸過 Microsoft SMTP,所以我不記得設置螢幕是什麼樣子了。
確保為 SMTP 啟用SSL,因為 gmail 需要它。
SMTP Authentication 應該設置為Basic。
確保您使用的是真實的電子郵件而不是電子郵件別名來進行身份驗證。這給我帶來了很多麻煩。
這就是我讓它工作的方式。