为什么SMTP发送邮件失败

Kay9999 2017-01-04 05:36:11
总是失败,我的代码到底哪错了?
我用的是VS2010



Dim client As New System.Net.Mail.SmtpClient()
client.Port = 25
client.EnableSsl = True
client.Host = "smtp.163.com"
client.UseDefaultCredentials = False
client.Credentials = New System.Net.NetworkCredential("test@163.com", "justtest")

client.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network
Dim message As New System.Net.Mail.MailMessage
message.From = New System.Net.Mail.MailAddress("test@163.com")

message.To.Add(New System.Net.Mail.MailAddress("test2@163.com"))
message.Subject = EMail_Title
message.BodyEncoding = System.Text.Encoding.UTF8
message.IsBodyHtml = True
message.Body = " 123 "
client.Send(message)

WebMessageBox(Me.Page, "Send Email Successfully ! Please Close The IE (Internet Explorer) ! Thank you !")

Catch ex As Exception
WebMessageBox(Me.Page, "Send Email Failed.")
...全文
2141 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
Kay9999 2017-01-09
  • 打赏
  • 举报
回复
引用 12 楼 Chinajiyong 的回复:
设置UseDefaultCredentials =false;另外指定NetworkCredential的username和password

client.UseDefaultCredentials = false;
client.Credentials = new System.Net.NetworkCredential("username", "password");
参考http://stackoverflow.com/questions/7269174/net-smtp-client-client-does-not-have-permissions-to-send-as-this-sender http://stackoverflow.com/questions/15271297/smtp-e-mail-dont-works-5-7-1-client-does-not-have-permissions-to-send-as-this-s
谢谢回复, 这两个都有设哦
 client.UseDefaultCredentials = False
            client.Credentials = New System.Net.NetworkCredential("test@163.com", "justtest")
EnForGrass 2017-01-06
  • 打赏
  • 举报
回复
设置UseDefaultCredentials =false;另外指定NetworkCredential的username和password

client.UseDefaultCredentials = false;
client.Credentials = new System.Net.NetworkCredential("username", "password");
参考http://stackoverflow.com/questions/7269174/net-smtp-client-client-does-not-have-permissions-to-send-as-this-sender http://stackoverflow.com/questions/15271297/smtp-e-mail-dont-works-5-7-1-client-does-not-have-permissions-to-send-as-this-s
Kay9999 2017-01-06
  • 打赏
  • 举报
回复
引用 10 楼 qq_17486399 的回复:
http://download.csdn.net/detail/qq_17486399/9384476 这是我做的一个demo
谢谢你,我不会C# 加上原来的网页是 VB写的,所以不能用,不过我看了一下,参数应该也差不多吧,我已经改用公司自己的服务器了,在OUTLOOK上没问题,为什么我代码还是报错邮件不能用尼。 邮箱不可用。 服务器响应为: 5.7.1 Client does not have permissions to send as this sender 各位帮帮忙
Poopaye 2017-01-05
  • 打赏
  • 举报
回复
引用 3 楼 Kay9999 的回复:
[quote=引用 1 楼 twotuli_software 的回复:] 邮件服务器返回的错误是什么?看看不就知道哪里的问题了吗?
我是入门菜,请问如何查看? 把 WebMessageBox(Me.Page, "Send Email Failed.") 删了?[/quote] 你是入门菜,那究竟是谁教你要加上catch的?
yzf86211861 2017-01-05
  • 打赏
  • 举报
回复
试试 别的 发送方式, 是不是163 有的 时候有限制.
Kay9999 2017-01-05
  • 打赏
  • 举报
回复
如果我不要SSL 想用 TLS 端口,设怎样做?SmtpClient 支持TLS吗?
Kay9999 2017-01-05
  • 打赏
  • 举报
回复
引用 2 楼 Chinajiyong 的回复:
用163服务器发邮件 需要注意的几点: 1、 MailMessage对象一定要写"from". 估计163的服务器有对from进行验证。 MailMessage mail = new System.Net.Mail.MailMessage("XXXXX@163.com", "XXXXXX@hotmail.com"); 2、一定不要设置UseDefaultCredentials 不管是objMailServer.UseDefaultCredentials = true/false, 都不行。 不要写这句就可以。 设置成false, objMailServer.Credentials 会变成null; 设置成true,objMailServer.Credentials里的username和password都会变成空。 参考http://www.cnblogs.com/popman/archive/2010/07/27/1785933.html
你所说的第1点我没有错吧?第2点我试过删除,也是不行的。
Kay9999 2017-01-05
  • 打赏
  • 举报
回复
引用 1 楼 twotuli_software 的回复:
邮件服务器返回的错误是什么?看看不就知道哪里的问题了吗?
我是入门菜,请问如何查看? 把 WebMessageBox(Me.Page, "Send Email Failed.") 删了?
大鱼> 2017-01-05
  • 打赏
  • 举报
回复
http://download.csdn.net/detail/qq_17486399/9384476 这是我做的一个demo
Kay9999 2017-01-05
  • 打赏
  • 举报
回复
引用 6 楼 yzf86211861 的回复:
试试 别的 发送方式, 是不是163 有的 时候有限制.
我原来是要使用一个香港的 exchange server ,那边一定要使用 TSL 587 端口的。我试过不行,所以试试163,现在连163都不行。 代码我是网上复制再修改的。我不知到哪错了,我用的是VS2010 写VB,因为我是半路出家,没有任何语言基础,只会ACCESS 识点VBA。 请大家帮帮忙
Kay9999 2017-01-05
  • 打赏
  • 举报
回复
引用 7 楼 shingoscar 的回复:
[quote=引用 3 楼 Kay9999 的回复:] [quote=引用 1 楼 twotuli_software 的回复:] 邮件服务器返回的错误是什么?看看不就知道哪里的问题了吗?
我是入门菜,请问如何查看? 把 WebMessageBox(Me.Page, "Send Email Failed.") 删了?[/quote] 你是入门菜,那究竟是谁教你要加上catch的?[/quote] 见笑了,我是复制别人的代码再修改的...
EnForGrass 2017-01-04
  • 打赏
  • 举报
回复
用163服务器发邮件
需要注意的几点:

1、 MailMessage对象一定要写"from". 估计163的服务器有对from进行验证。

MailMessage mail = new System.Net.Mail.MailMessage("XXXXX@163.com", "XXXXXX@hotmail.com");

2、一定不要设置UseDefaultCredentials

不管是objMailServer.UseDefaultCredentials = true/false, 都不行。 不要写这句就可以。

设置成false, objMailServer.Credentials 会变成null; 设置成true,objMailServer.Credentials里的username和password都会变成空。

参考http://www.cnblogs.com/popman/archive/2010/07/27/1785933.html
维秀斯丢丢 2017-01-04
  • 打赏
  • 举报
回复
邮件服务器返回的错误是什么?看看不就知道哪里的问题了吗?
适用人群通用各大网易系,腾讯QQ系,新浪系,阿里系等主流邮箱;同时也适用于企业开发的企业邮箱,进行收件和发件。课程概述通用各大网易系,腾讯QQ系,新浪系,阿里系等主流邮箱;同时也适用于企业开发的企业邮箱,进行收件和发件。POP3是Post Office Protocol 3的简称,即邮局协议的第3个版本,它规定怎样将个人计算机连接到Internet的邮件服务器和下载电子邮件的电子协议。它是因特网电子邮件的第一个离线协议标准,POP3允许用户从服务器上把邮件存储到本地主机(即自己的计算机)上,同时删除保存在邮件服务器上的邮件,而POP3服务器则是遵循POP3协议的接收邮件服务器,用来接收电子邮件的SMTP 的全称是“Simple Mail Transfer Protocol”,即简单邮件传输协议。它是一组用于从源地址到目的地址传输邮件的规范,通过它来控制邮件的中转方式。SMTP 协议属于 TCP/IP 协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。SMTP 服务器就是遵循 SMTP 协议的发送邮件服务器。   SMTP 认证,简单地说就是要求必须在提供了账户名和密码之后才可以登录 SMTP 服务器,这就使得那些垃圾邮件的散播者无可乘之机。。【开发者如何进行快速开发邮件发送系统???本课程系统进行快速研发,项目实战】 部分截图如下:完整版请查看课件或者视频

62,025

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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