关于发送邮件,错误“命令顺序不正确。 服务器响应为:Error: need EHLO and AUTH first !”问题...

最近做了一个小程序,通过QQ邮箱服务器发送邮件,

代码写完后,运行调试,出现“命令顺序不正确。 服务器响应为:Error: need EHLO and AUTH first !”的问题,

上网查询发现需要先设置 EnableSsl和UseDefaultCredentials,再实例化Credentials 

1.创建控制台程序

2.创建SendMail类,并添加方法SendQQMail()

 1 public void SendQQMail(string strSmtpServer, string strFrom, string strFromPass, string strto,
 2 string strSubject, string strBody)
 3 {
 4 SmtpClient smtpClient = new SmtpClient();
 5 
 6 smtpClient.EnableSsl = true;
 7 
 8 smtpClient.UseDefaultCredentials = false;//先设置
 9 
10 smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network; //指定电子邮件发送方式
11 
12 smtpClient.Host = strSmtpServer; //指定SMTP服务器
13 
14 smtpClient.Credentials = new System.Net.NetworkCredential(strFrom, strFromPass); //用户名和授权码
15 
16 // 发送邮件设置
17 
18 MailMessage mailMessage = new MailMessage(strFrom, strto); // 发送人和收件人
19 
20 mailMessage.Subject = strSubject; //主题
21 
22 mailMessage.Body = strBody;//内容
23 
24 mailMessage.BodyEncoding = Encoding.UTF8; //正文编码
25 
26 mailMessage.IsBodyHtml = true; //设置为HTML格式
27 
28 mailMessage.Priority = MailPriority.Low; //优先级
29 
30 smtpClient.Send(mailMessage);
31 }

 

3.Main()方法中调用

 1 static void Main(string[] args)
 2 {
 3 
 4 #region QQ邮箱邮件发送
 5 SendMail email = new SendMail(); //引用此类所在的命名空间后new一个对象出来
 6 email.SendQQMail("smtp.qq.com", "发件人@qq.com", "授权码", "收件人@qq.com", "QQ邮箱服务器发送邮件", "用asp.net发送邮件,用QQ的smtp.qq.com服务器,测试成功");
 7 Console.WriteLine();
 8 Console.ReadLine();
 9 #endregion
10 }

 

4.运行,发送成功

 

注意点:

1.QQ邮箱设置中

 

2.发件邮箱密码为授权码

 各位试试吧。

 

转载于:https://www.cnblogs.com/tiantian515/p/6773813.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值