System.Net.Mail
SmtpClient newclient = new SmtpClient("ddd.aaa.com");
newclient.UseDefaultCredentials = false;
newclient.Credentials = new System.Net.NetworkCredential("[email protected]", "111");
newclient.DeliveryMethod = SmtpDeliveryMethod.Network;
newclient.Send(msgMail);
因为我现在的from邮箱地址跟host是在同一个网络中。这样可以发信成功的。
但是我如果把host改成外网的邮件服务器
SmtpClient newclient = new SmtpClient("ccc.bbb.com");
newclient.UseDefaultCredentials = false;
newclient.Credentials = new System.Net.NetworkCredential("[email protected]", "111");
newclient.DeliveryMethod = SmtpDeliveryMethod.Network;
newclient.Send(msgMail);
这样的话就发送不成功,说指令不认可。验证不成功
但是外网的邮件服务器的情况下using System.Web.Mail;这个就可以成功
System.Web.Mail.MailMessage a = new System.Web.Mail.MailMessage();
a.To = "[email protected]";
a.From = "[email protected]";
a.Subject = "test1";
a.Body = "nihao!test!";
a.Fields["http://schemas.microsoft.com/cdo/configuration/smtpauthenticate"] = "1";
a.Fields["http://schemas.microsoft.com/cdo/configuration/sendusername"] = "[email protected]";
a.Fields["http://schemas.microsoft.com/cdo/configuration/sendpassword"] = "111";
SmtpMail.SmtpServer = "ccc.bbb.com";
SmtpMail.Send(a);
不知道怎么改能让用System.Net.Mail的时候,用外网的邮件服务器也能发送成功,哪位大虾能指导下。
SmtpClient newclient = new SmtpClient("ddd.aaa.com");
newclient.UseDefaultCredentials = false;
newclient.Credentials = new System.Net.NetworkCredential("[email protected]", "111");
newclient.DeliveryMethod = SmtpDeliveryMethod.Network;
newclient.Send(msgMail);
因为我现在的from邮箱地址跟host是在同一个网络中。这样可以发信成功的。
但是我如果把host改成外网的邮件服务器
SmtpClient newclient = new SmtpClient("ccc.bbb.com");
newclient.UseDefaultCredentials = false;
newclient.Credentials = new System.Net.NetworkCredential("[email protected]", "111");
newclient.DeliveryMethod = SmtpDeliveryMethod.Network;
newclient.Send(msgMail);
这样的话就发送不成功,说指令不认可。验证不成功
但是外网的邮件服务器的情况下using System.Web.Mail;这个就可以成功
System.Web.Mail.MailMessage a = new System.Web.Mail.MailMessage();
a.To = "[email protected]";
a.From = "[email protected]";
a.Subject = "test1";
a.Body = "nihao!test!";
a.Fields["http://schemas.microsoft.com/cdo/configuration/smtpauthenticate"] = "1";
a.Fields["http://schemas.microsoft.com/cdo/configuration/sendusername"] = "[email protected]";
a.Fields["http://schemas.microsoft.com/cdo/configuration/sendpassword"] = "111";
SmtpMail.SmtpServer = "ccc.bbb.com";
SmtpMail.Send(a);
不知道怎么改能让用System.Net.Mail的时候,用外网的邮件服务器也能发送成功,哪位大虾能指导下。
测试下不同smtp端口
可以登录的。我在outlook里面这样设置是可以接发邮件的。
大部分是防火墙的问题
你用 "Telnet 外网SMTP服务器 25" 命令看看能不能连上
如果能连上说明程序有问题 如果连不上说明是防火墙或是对方的服务器有问题!
没有道理啊