使用smtp协议发送邮件(借用腾讯邮箱服务器)
SMTP 简单邮件传输协议(Simple Mail Transfer Protocol) SMTP 的目标是可靠,高效的传输邮件。 使用C/S架构(默认端口25)
协议:即约定和规范,不同的程序可以通过相同的协议来解析数据,从而提高数据的交互性。
市面上有很多第三方组件,根据协议制定了能够让我们进行快速的搭建程序的脚手架。这里我们就利用System.Net.Mail 来快速的写一个利用smtp发送邮件的小程序.
1、首先,添加对using System.Net.Mail程序集的引用
2
public static void TestMail() { try { string fromAddress = "1145696689@qq.com"; string toAddress = "1353888626@qq.com"; string subject = "Test Email"; string bodyMessage = "This is a test email message. 娟娟是个大傻逼"; // 创建 MailMessage 实例 MailMessage mailMessage = new MailMessage(fromAddress, toAddress, subject, bodyMessage); // 设置其他属性 //mailMessage.CC.Add("ccrecipient@example.com"); mailMessage.IsBodyHtml = true; // 发送邮件 SendEmail(mailMessage); } catch (Exception e) { throw e; } } static void SendEmail(MailMessage mailMessage) { using (SmtpClient smtpClient = new SmtpClient("smtp.qq.com", 25)) { smtpClient.UseDefaultCredentials = true; smtpClient.EnableSsl = true; // 替换为你的 SMTP 服务器的用户名和密码(授权码) smtpClient.Credentials = new System.Net.NetworkCredential("1145696689", "iruoqiohazubffgb"); try { smtpClient.Send(mailMessage); Console.WriteLine("Email sent successfully!"); } catch (Exception ex) { Console.WriteLine("Failed to send email: " + ex.Message); } } }
注意:
发送邮件,出现异常:服务器响应为: Error: need EHLO and AUTH first !" 在使用 System.Net.Mail组建发送邮件的时候出现了"命令顺序不正确。 服务器响应为: Error: need EHLO and AUTH first !"异常 解决方法如下: 1.如果使用了qq邮箱请使用授权码(不要用qq邮箱登录密码) 2.启用smtp.UseDefaultCredentials = true; 3.启用smtp.EnableSsl = true; QQ邮箱 POP3服务器地址:pop.qq.com(端口:110) SMTP服务器地址:smtp.qq.com (端口:25) QQ企业邮箱 POP3服务器地址:pop.exmail.qq.com(SSL启用 端口:995) SMTP服务器地址:smtp.exmail.qq.com(SSL启用 端口:587/465)
qq邮箱如何获取授权码
登录网页版的qq邮箱官网 点击设置 点击账号
找到
直到根据步骤获取到授权码