为了满足项目需求,今日需要实现一个功能,就是自动发送邮件给某些用户,发送邮件的代码很简单,网上很容易找到,但就是看起来简单的东西可能也会遇到很多问题。

总结一下都有什么问题:
1)命令顺序不正确。服务器响应为:Error:need EHLO and AUTH first!
2)不允许使用邮箱名称。服务器相应为:Local user only,163 smtp1…
3)发送失败
4)SMTP服务器要求安全连接或客户端未通过身份验证。服务器响应为:Authentication required

基于以上问题,进行了各种尝试,还是得不到解决,于是猜想是不是SMTP服务器的问题,然后各种服务器换来试试都会报错。最后有的人说验证发件人邮箱时不要填密码,而是填写授权码,如下

client.Credentials = new NetworkCredential("123456@qq.com", "ahdIrjof");

果然,修改为授权码后发送邮件成功了。

qq邮件的授权码获取方式:
登录网页版QQ邮箱,点击上方设置,点击pop3点击开启,自行验证,并获取授权码,注意先记录下来。

贴代码:

//实例化一个发送邮件类。MailMessage mailMessage = new MailMessage();//发件人邮箱地址,方法重载不同,可以根据需求自行选择。mailMessage.From = new MailAddress("123456@qq.com");//收件人邮箱地址。mailMessage.To.Add(new MailAddress("2022eml@163.com"));//抄送人邮箱地址。//message.CC.Add(sender);//邮件标题。mailMessage.Subject = "发送邮件测试";//邮件内容。mailMessage.Body = "这是发送的邮件测试!";//是否支持内容为HTML。//mailMessage.IsBodyHtml = true;//实例化一个SmtpClient类。SmtpClient client = new SmtpClient();client.Port = 25;//在这里使用的是qq邮箱,所以是smtp.qq.com,如果你使用的是126邮箱,那么就是smtp.126.com。//client.Host = "smtp.163.com";client.Host = "smtp.qq.com";//使用安全加密连接(是否启用SSL)client.EnableSsl = true;//设置超时时间client.Timeout = 10000;//不和请求一块发送。client.UseDefaultCredentials = false;//验证发件人身份(发件人的邮箱,邮箱里的生成授权码);client.Credentials = new NetworkCredential("123456@qq.com", "asdgdrtyyr");                                                                                                                           //client.Credentials = new NetworkCredential("liulijun3236@163.com", "ZAJDNCKWHUBHQIMY");//网易try{//发送client.Send(mailMessage);//发送成功MessageBox.Show("发送成功");}catch (Exception ex)//发送异常{//发送失败MessageBox.Show(ex.Message);}

C#实现自动发送邮件,以及问题解决(SMTP邮箱服务器使用QQ的为例)相关推荐

  1. SMTP邮箱服务器发送邮件

    python实现邮件发送 python使用邮箱服务器发送qq邮件 对发送邮件的代码进行封装成函数后调用 导入需要使用的库 import smtplib from email.mime.multipar ...

  2. 使用telnet通过qq的SMTP邮箱服务器发送邮件

    使用telnet通过qq的SMTP邮箱服务器发送邮件 telnet的安装 开启账号的SMTP服务,获取授权码 使用telnet发邮件 telnet的安装 telnet是Windows的一个远程连接工具 ...

  3. linux telnet qq邮箱,windows命令行下:telnet访问163邮箱服务器和qq邮箱服务器发送邮件...

    对163邮箱来说,它可以不使用ssl加密,访问服务器的25端口  但是对于qq邮箱服务器,得使用ssl访问587端口  另外邮箱设置一定要开启smtp服务 163: telnet smtp.163.c ...

  4. windows命令行下:telnet访问163邮箱服务器和qq邮箱服务器发送邮件

    对163邮箱来说,它可以不使用ssl加密,访问服务器的25端口  但是对于qq邮箱服务器,得使用ssl访问587端口  另外邮箱设置一定要开启smtp服务 163: telnet smtp.163.c ...

  5. QQ邮箱服务器协议,QQ邮箱新功能 IMAP协议支持

    一直认为QQ邮箱是国内最好用的邮箱之一,它不但界面清爽.安全快捷,还不断推出许多特色功能.最近,我就惊喜的发现我的QQ邮箱又开通了IMAP服务,这是一个比POP3更稳定更快捷的超轻量级的收发协议服务, ...

  6. linux脚本空间预警,并发送邮件,内含配置邮箱服务器,及报错“Could not resolve host: //smtp.qq.com”、“smtp-server: 502”

    我的centos7.x是新装的系统,暂未开启任何邮箱服务 常说的mail.mailx和sendmail mail用户代理(客户端),是mailx的别名, mail和mailx是同一个东西 sendma ...

  7. ou邮箱用qq邮箱服务器地址,QQ邮箱怎么设置

    满意答案 puwadsx 2015.10.18 采纳率:41%    等级:10 已帮助:1472人 通过手机客户端绑定邮箱,方法和步骤: 首先,需要电脑浏览器登陆到QQ邮箱mail.qq.com(设 ...

  8. 使用telnet程序连接qq smtp协议邮箱服务器发送邮件

    使用telnet程序连接qq smtp协议邮箱服务器发送邮件 1. telnet简介 2. 使用telnet程序连接qq邮箱服务器(以centos为例) 1. telnet简介 Telnet是一种应用 ...

  9. Selenium3自动化测试——23.自动发送邮件功能

    自动发送邮件是自动化测试项目的重要需求之一.发送邮件的协议,是简单邮件传输协议(SMTP). 1. Python自带的发送邮件功能 1.1 发送邮件正文 import smtplib from ema ...

最新文章

  1. Machine learning of neural representations of suicide and emotion concepts identifies suicidal youth
  2. log4j写入mysql数据库_log4j日志写入数据库
  3. matplotlib全图
  4. 入门机器学习,看这些材料就够了
  5. 计算机启动程序bios_如何构建自己的计算机,第三部分:准备BIOS
  6. 关于HTML的面试题-html5/css3篇
  7. java是值传递还是引用传递_Java 到底是值传递还是引用传递?
  8. StringBuffer,StringBuilder区别是啥
  9. sql转化为int类型
  10. linux连同目录一起删除,linux中文件的常用操作
  11. 基于matlab的捷联惯导算法编程(一)
  12. 3d slicer matlab,基于3D+slicer的医学影像分割算法及其应用研究.pdf
  13. Mybatis常用的OGNL表达式
  14. Chrome快捷键整理
  15. 1096 大美数 分数 15
  16. 开源Odoo ERP13.2版本模块功能
  17. 【微信小程序/事件】事件响应的各种场景
  18. 《深入解读Windows操作系统》之系统构架
  19. ILSpy中baml转化为xaml的改进
  20. 计算机真有趣作文,。。。。真有趣作文(共10篇)

热门文章

  1. 非专业计算机二级有必要考吗,2019大学计算机都必须要过二级吗 有必要考吗
  2. 兄弟Brother DCP-8110D 驱动
  3. trie-51nod1526 分配笔名
  4. 数据链路层协议之点对点协议 PPP
  5. Mac提示“***已损坏,无法打开。 您应该将它移到废纸篓“
  6. java数组为空如何判断_Java中判断数组是否为空?
  7. Vivado中的IP核——Interrupt Controller详解
  8. matlab随机森林 分成三类怎么设置,MATLAB随机森林回归模型
  9. 《趣学数据结构》新书预售!
  10. 一看就懂的 学生学籍管理系统(C语言实现)