1 2

使用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邮箱官网   点击设置  点击账号  

找到

 直到根据步骤获取到授权码

 
posted @ 2024-04-24 15:40  大海的泡沫  阅读(158)  评论(0编辑  收藏  举报
1 2