关于System.Net.Mail中SmtpClient类的ServicePoint

luyichenn 2012-04-09 04:47:06
用.NET 中SmtpClient类发邮件,代码如下:
private string mailServiceName = "smtp.163.com.cn";
SmtpClient mailClient = new SmtpClient();
mailClient.Host = mailServiceName;

mailServiceName 不管用自己的虚拟服务器名还是163的mailClient 中的ServicePoint都会有:

Address = “mailClient.ServicePoint.Address”引发了“System.NotSupportedException”类型的异常,在 System.Net.ServicePoint.get_Address() {"不使用 URI 的协议不支持此属性。"},跟UseDefaultCredentials及服务器验证没有关系,并且尝试了确实还报同样的错,系统HOST文件也配置了相关的IP,也PING 通。急等~~~!

...全文
291 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
luyichenn 2012-04-09
  • 打赏
  • 举报
回复
谢谢,问题已经找到。还是自己使用的邮件服务器设置问题。[Quote=引用 1 楼 的回复:]
C# code
smtp = new SmtpClient(); //实例化一个SmtpClient
smtp.DeliveryMethod = SmtpDeliveryMethod.Network; //将smtp的出站方式设为 Network
smt……
[/Quote]
mngzilin 2012-04-09
  • 打赏
  • 举报
回复
                      smtp = new SmtpClient(); //实例化一个SmtpClient
smtp.DeliveryMethod = SmtpDeliveryMethod.Network; //将smtp的出站方式设为 Network
smtp.EnableSsl = false;//smtp服务器是否启用SSL加密
smtp.Host = "smtp.163.com"; //指定 smtp 服务器地址
smtp.Port = 25; //指定 smtp 服务器的端口,默认是25,如果采用默认端口,可省去
//如果你的SMTP服务器不需要身份认证,则使用下面的方式,不过,目前基本没有不需要认证的了
smtp.UseDefaultCredentials = true;
//如果需要认证,则用下面的方式
smtp.Credentials = new NetworkCredential("XXXXXX", "密码");

111,126

社区成员

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

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

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