.net SmtpClinet(智能邮件服务器)SMTP发送电子邮件失败
我已配置并运行SmarterMail服务器,为25端口运行SMTP服务,配置电子邮件帐户 我创建了简单的.NET应用程序,通过电子邮件服务器发送电子邮件,非常简单:.net SmtpClinet(智能邮件服务器)SMTP发送电子邮件失败,.net,email,configuration,smtp,admin,.net,Email,Configuration,Smtp,Admin,我已配置并运行SmarterMail服务器,为25端口运行SMTP服务,配置电子邮件帐户 我创建了简单的.NET应用程序,通过电子邮件服务器发送电子邮件,非常简单: public void SendEmail(EmailMessage message, string username, string password, string host, int port, bool enableSsl) { MailMessage mm = new MailMes
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
System.Net.WebException:无法连接到远程服务器-->System.Net.S
ockets.SocketException:连接尝试失败,因为连接方
一段时间后未正确响应,或建立的连接失败
d因为连接的主机未能响应173.248.182.102:25
位于System.Net.Sockets.Socket.DoConnect(端点快照,socketAddress
ss socketAddress)
在System.Net.ServicePoint.ConnectSocketInternal(布尔值connectFailure,Sock
et s4、插座s6、插座和插座、IP地址和地址、ConnectSocketState、,
IAsyncResult asyncResult、Int32超时、异常和异常)
---内部异常堆栈跟踪的结束---
在System.Net.ServicePoint.GetConnection(PooledStream PooledStream,对象ow)上
ner、布尔异步、IP地址和地址、套接字和中止套接字、套接字和中止套接字
6,Int32超时)
在System.Net.PooledStream.Activate(对象所有者对象,布尔异步,Int32
超时,GeneralAsyncDelegate异步回调)
在System.Net.PooledStream.Activate(对象所有者对象,GeneralAsyncDelegate
异步(回调)
在System.Net.ConnectionPool.GetConnection(对象所有者对象,GeneralAsyncD
elegate异步回调,Int32 creationTimeout)
位于System.Net.Mail.SmtpConnection.GetConnection(ServicePoint ServicePoint)
位于System.Net.Mail.SmtpTransport.GetConnection(ServicePoint ServicePoint)
在System.Net.Mail.SmtpClient.GetConnection()中
在System.Net.Mail.SmtpClient.Send(邮件消息)上
---内部异常堆栈跟踪的结束---
在System.Net.Mail.SmtpClient.Send(邮件消息)上
在SendMail.MailService.SendMail(EmailMessage消息,字符串用户名,Stri
D:\Development\Proje中的ng密码、字符串主机、Int32端口、布尔启用SSL)
cts\Experiments\SendMail\SendMail\Program.cs:第36行
位于D:\Development\Projects\Experiment中的SendMail.Program.Main(字符串[]args)
s\SendMail\SendMail\Program.cs:第52行
邮件服务器:Mail.trackyt.net,端口=25,SSL=false。它不能从我的(本地)机器工作
同时,如果我将此应用程序复制到运行SmartRemail(remote)的机器上,它将成功运行
我认为它被防火墙阻止了,在远程机器上启用了25个-同样的结果。
禁用本地和远程计算机的防火墙-结果相同
附加诊断:
通过以下方式运行SMTP测试:
EHLO pingability.com
250-MAST-WIN2K8R2-STD你好[207.210.209.134]
250号31457280
250-AUTH登录CRAM-MD5
250行
调试SMTP:找到扩展名“SIZE”,arg“31457280”
调试SMTP:找到扩展名“AUTH”,arg“LOGIN CRAM-MD5”
调试SMTP:找到扩展名“OK”,参数“”
调试SMTP:尝试进行身份验证
调试SMTP:检查机制:登录普通摘要-MD5 NTLM
身份验证登录
334 VXNlcm5hbWU6
c3VwcG9ydA==
334 UGFzc3dvcmQ6
c3VwcG9ydDEyMw==
235身份验证成功
它说SMTP是可以的
从我的计算机远程登录:
Microsoft Telnet>o mail.trackyt.net 25
正在连接mail.trackyt.net…无法在端口上打开与主机的连接
25:连接失败
来自SmarterMail机器的相同telnet正常
有什么想法吗?你是在家里做的吗?很多ISP都会阻止输出端口25 在smartermail中,您可以为另一个端口添加SMTP侦听器。尝试为587添加一个,看看是否可以连接到它(假设您拥有管理员权限)
--dave你的电脑能识别mail.trackyt.net吗?尝试在主机变量上使用IP地址。是的,您可以在异常中看到,它已解析为OK-173.248.182.102:25邮件服务器正在侦听什么IP?netstat TCP 173.248.182.102:25服务器1:0正在侦听