System.Net.Mail的发信问题

feng8317 2010-05-19 03:30:39
System.Net.Mail
SmtpClient newclient = new SmtpClient("ddd.aaa.com");

newclient.UseDefaultCredentials = false;
newclient.Credentials = new System.Net.NetworkCredential("123@ddd.aaa.com", "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("123@111.222.com", "111");
newclient.DeliveryMethod = SmtpDeliveryMethod.Network;
newclient.Send(msgMail);
这样的话就发送不成功,说指令不认可。验证不成功
但是外网的邮件服务器的情况下using System.Web.Mail;这个就可以成功
System.Web.Mail.MailMessage a = new System.Web.Mail.MailMessage();
a.To = "321@111.222.com";
a.From = "123@111.222.com";
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"] = "123@111.222.com";
a.Fields["http://schemas.microsoft.com/cdo/configuration/sendpassword"] = "111";
SmtpMail.SmtpServer = "ccc.bbb.com";
SmtpMail.Send(a);
不知道怎么改能让用System.Net.Mail的时候,用外网的邮件服务器也能发送成功,哪位大虾能指导下。
...全文
115 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
feng8317 2010-05-21
  • 打赏
  • 举报
回复
net类的Mail不能发, web类的mail可以发.
没有道理啊
wl076 2010-05-19
  • 打赏
  • 举报
回复
内网和外网是一样的
大部分是防火墙的问题
你用

"Telnet 外网SMTP服务器 25" 命令看看能不能连上
如果能连上说明程序有问题 如果连不上说明是防火墙或是对方的服务器有问题!
feng8317 2010-05-19
  • 打赏
  • 举报
回复
123@111.222.com可以登陆服务器ccc.bbb.com
可以登录的。我在outlook里面这样设置是可以接发邮件的。
路人乙e 2010-05-19
  • 打赏
  • 举报
回复
首先保证账户123@111.222.com可以登陆服务器ccc.bbb.com
测试下不同smtp端口
myhope88 2010-05-19
  • 打赏
  • 举报
回复
不懂,帮顶下

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧