我已配置並運行SmarterEmail服務器,爲25端口運行SMTP服務,配置了電子郵件帳戶。SMTP通過SmtpClinet(SmarterEmail服務器)發送電子郵件失敗
我創建了簡單的.NET應用程序通過我的電子郵件服務器發送電子郵件,這是非常簡單的:
public void SendEmail(EmailMessage message, string username, string password, string host, int port, bool enableSsl)
{
MailMessage mm = new MailMessage(message.From, message.To, message.Subject, message.Message);
NetworkCredential credentials = new NetworkCredential(username, password);
SmtpClient sc = new SmtpClient(host, 25);
sc.DeliveryMethod = SmtpDeliveryMethod.Network;
sc.UseDefaultCredentials = false;
sc.EnableSsl = enableSsl;
sc.Credentials = credentials;
sc.Send(mm);
}
此應用程序失敗,異常:
未處理的異常:System.Net .Mail.SmtpException:發送郵件失敗。 ---> S ystem.Net.WebException:無法連接到遠程服務器---> System.Net.S ockets.SocketException:連接嘗試失敗,因爲連接方 在一段時間後沒有正確響應時間或已建立的連接失敗 d因爲連接的主機未能響應System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot,SocketAddre ss socketAddress)上的173.248.182.102:25 System.Net.ServicePoint.ConnectSocketInternal( Boolean connectFailure,Sock et s4,Socket s6,Socket & socket,IPAddress & address,ConnectSocketState狀態, IAsyncResult asyncResult,Int32超時,異常&除外) ---在System.Net.ServicePoint.GetConnection內部異常堆棧跟蹤--- 結束(PooledStream PooledStream,對象流 NER,布爾異步,ip地址&地址,插座& abortSocket,插座& abortSocket 6 ,的Int32超時) 在System.Net.PooledStream.Activate(對象owningObject,布爾異步,的Int32 超時,GeneralAsyncDelegate的AsyncCallback) 在System.Net.PooledStream.Activate(對象owningObject,GeneralAsyncDelegate 的AsyncCallback) 在System.Net。 ConnectionPool.GetConnection(Object owningObject,GeneralAsyncD elegate asyncCallback,Int32 creationTimeout) at System.Net.Mail.SmtpConnection.GetConnection(ServicePoint servicePoint) at System.Net.Mail.SmtpTransport.GetConnection(ServicePoint servicePoint) at System.Net.Mail.SmtpClient.GetConnection() at System.Net.Mail .SmtpClient.Send(MailMessage消息) ---內部異常堆棧跟蹤的末端--- 位於System.Net.Mail.SmtpClient.Send(MailMessage消息) 位於SendMail.MailService.SendEmail(EmailMessage消息,字符串用戶名, D:\ Development \ Proje cts \ Experiments \ SendMail \ SendMail \ Program.cs:第36行 在SendMail.Program.Main(String [] args)中的密碼,字符串主機,Int32端口,布爾enableSsl中的字符串Stri D:\ Development \ Projects \ Experiment s \ SendMail \ SendMail \ Program.cs:line 52
郵件服務器:mail.trackyt.net,端口= 25,SSL = false。它不適用於我的(本地)機器。
與此同時,如果我將此應用程序複製到機器上,則SmarterEmail(遠程)正在運行,它成功運行!
我認爲它被防火牆阻止,在遠程機器上啓用25 - 結果相同。 已禁用防火牆,本地和遠程機器 - 結果相同。
其它診斷:
運行SMTP測試通過http://pingability.com/smtptest.jsp:
EHLO pingability.com 250 MAST-WIN2K8R2-STD你好[207.210.209.134] 250-SIZE 31457280 250-AUTH登錄CRAM-MD5 250 OK DEBUG SMTP:找到擴展名「SIZE」,arg「31457280」 DEBUG SMTP:找到擴展名「AUTH」,arg「LOGIN CRAM-MD5」 DEBUG SMTP:找到擴展名「OK」 「 DEBUG SMTP:嘗試驗證 DEBUG SMTP:檢查機制:登錄PLAIN DIGEST-MD5 NTLM AUTH LOGIN 334 VXNlcm5hbWU6 c3VwcG9ydA == 334 UGFzc3dvcmQ6 c3VwcG9ydDEyMw == 235認證成功
它說, SMTP是好的。從我的機器
遠程登錄:
微軟的Telnet> 0 mail.trackyt.net 25 連接到mail.trackyt.net ......無法打開連接到主機,端口 25:連接失敗
從SmarterMail機器的相同的telnet是確定的。
任何想法?
你電腦能識別mail.trackyt.net嗎?嘗試在您的主機變量上使用IP地址。 – hallie 2010-12-01 07:36:20
是的,你可以看到異常,它解決了 - 173.248.182.102:25 – 2010-12-01 07:43:34