C#实现自动发送邮件,以及问题解决(SMTP邮箱服务器使用QQ的为例)
为了满足项目需求,今日需要实现一个功能,就是自动发送邮件给某些用户,发送邮件的代码很简单,网上很容易找到,但就是看起来简单的东西可能也会遇到很多问题。
总结一下都有什么问题:
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的为例)相关推荐
- SMTP邮箱服务器发送邮件
python实现邮件发送 python使用邮箱服务器发送qq邮件 对发送邮件的代码进行封装成函数后调用 导入需要使用的库 import smtplib from email.mime.multipar ...
- 使用telnet通过qq的SMTP邮箱服务器发送邮件
使用telnet通过qq的SMTP邮箱服务器发送邮件 telnet的安装 开启账号的SMTP服务,获取授权码 使用telnet发邮件 telnet的安装 telnet是Windows的一个远程连接工具 ...
- linux telnet qq邮箱,windows命令行下:telnet访问163邮箱服务器和qq邮箱服务器发送邮件...
对163邮箱来说,它可以不使用ssl加密,访问服务器的25端口 但是对于qq邮箱服务器,得使用ssl访问587端口 另外邮箱设置一定要开启smtp服务 163: telnet smtp.163.c ...
- windows命令行下:telnet访问163邮箱服务器和qq邮箱服务器发送邮件
对163邮箱来说,它可以不使用ssl加密,访问服务器的25端口 但是对于qq邮箱服务器,得使用ssl访问587端口 另外邮箱设置一定要开启smtp服务 163: telnet smtp.163.c ...
- QQ邮箱服务器协议,QQ邮箱新功能 IMAP协议支持
一直认为QQ邮箱是国内最好用的邮箱之一,它不但界面清爽.安全快捷,还不断推出许多特色功能.最近,我就惊喜的发现我的QQ邮箱又开通了IMAP服务,这是一个比POP3更稳定更快捷的超轻量级的收发协议服务, ...
- linux脚本空间预警,并发送邮件,内含配置邮箱服务器,及报错“Could not resolve host: //smtp.qq.com”、“smtp-server: 502”
我的centos7.x是新装的系统,暂未开启任何邮箱服务 常说的mail.mailx和sendmail mail用户代理(客户端),是mailx的别名, mail和mailx是同一个东西 sendma ...
- ou邮箱用qq邮箱服务器地址,QQ邮箱怎么设置
满意答案 puwadsx 2015.10.18 采纳率:41% 等级:10 已帮助:1472人 通过手机客户端绑定邮箱,方法和步骤: 首先,需要电脑浏览器登陆到QQ邮箱mail.qq.com(设 ...
- 使用telnet程序连接qq smtp协议邮箱服务器发送邮件
使用telnet程序连接qq smtp协议邮箱服务器发送邮件 1. telnet简介 2. 使用telnet程序连接qq邮箱服务器(以centos为例) 1. telnet简介 Telnet是一种应用 ...
- Selenium3自动化测试——23.自动发送邮件功能
自动发送邮件是自动化测试项目的重要需求之一.发送邮件的协议,是简单邮件传输协议(SMTP). 1. Python自带的发送邮件功能 1.1 发送邮件正文 import smtplib from ema ...
最新文章
- Machine learning of neural representations of suicide and emotion concepts identifies suicidal youth
- log4j写入mysql数据库_log4j日志写入数据库
- matplotlib全图
- 入门机器学习,看这些材料就够了
- 计算机启动程序bios_如何构建自己的计算机,第三部分:准备BIOS
- 关于HTML的面试题-html5/css3篇
- java是值传递还是引用传递_Java 到底是值传递还是引用传递?
- StringBuffer,StringBuilder区别是啥
- sql转化为int类型
- linux连同目录一起删除,linux中文件的常用操作
- 基于matlab的捷联惯导算法编程(一)
- 3d slicer matlab,基于3D+slicer的医学影像分割算法及其应用研究.pdf
- Mybatis常用的OGNL表达式
- Chrome快捷键整理
- 1096 大美数 分数 15
- 开源Odoo ERP13.2版本模块功能
- 【微信小程序/事件】事件响应的各种场景
- 《深入解读Windows操作系统》之系统构架
- ILSpy中baml转化为xaml的改进
- 计算机真有趣作文,。。。。真有趣作文(共10篇)
热门文章
- 非专业计算机二级有必要考吗,2019大学计算机都必须要过二级吗 有必要考吗
- 兄弟Brother DCP-8110D 驱动
- trie-51nod1526 分配笔名
- 数据链路层协议之点对点协议 PPP
- Mac提示“***已损坏,无法打开。 您应该将它移到废纸篓“
- java数组为空如何判断_Java中判断数组是否为空?
- Vivado中的IP核——Interrupt Controller详解
- matlab随机森林 分成三类怎么设置,MATLAB随机森林回归模型
- 《趣学数据结构》新书预售!
- 一看就懂的 学生学籍管理系统(C语言实现)