2010-12-01 170 views
4

我已配置并运行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是确定的。

任何想法?

+0

你电脑能识别mail.trackyt.net吗?尝试在您的主机变量上使用IP地址。 – hallie 2010-12-01 07:36:20

+0

是的,你可以看到异常,它解决了 - 173.248.182.102:25 – 2010-12-01 07:43:34

回答

3

你是从家里做这个吗?许多ISPs阻止出站端口25.

在smartermail中,您可以为另一个端口添加一个SMTP侦听器。尝试为587添加一个,并查看是否可以连接到它(假设您有管理员权限来执行此操作)。

--dave

相关问题