我有一個小型的tcp服務器,用於通過SMTP服務器發送郵件等。SMTP客戶端無法在本地主機上發送消息,在遠程主機上成功
問題是,它在我的開發機器上運行(遠程連接到smtp服務器)時工作正常,但是當我在與SMTP服務器(Windows Server 2008 R2)相同的機器上運行應用程序時,我得到以下例外:
System.Net.Mail.SmtpException:發送郵件失敗。 ---> System.IO.IOException:無法從傳輸連接讀取數據:net_io_connectionclosed。
SMTP服務器被配置爲只允許來自127.0.0.1的中繼和tcp應用程序綁定的IP地址,以及我的開發機器。它也被配置爲只允許來自同一個IP列表的連接。
C#的位來發送郵件如下:
var mail = new MailMessage();
mail.To.Add(recipient);
mail.From = new MailAddress("[email protected]");
mail.Subject = "subject";
mail.Body = "message";
var smtpClient = new SmtpClient(MailServerAddress, Constants.MAIL_SERVER_PORT);
smtpClient.Send(mail);
MailServerAddress
是當應用程序第一次運行定義。
我試着將它設置爲127.0.0.1和SMTP服務器的配置IP地址,但我仍然得到相同的異常。
檢查服務器日誌顯示沒有連接跡象,這符合上述例外情況。
我在這裏做錯了什麼?
是您通過IIS SMTP服務器發送? – 2013-03-03 00:31:23
@ sa_ddam213 - 是 – 2013-03-03 00:37:48