QQ邮件
- 首先打开将QQ邮箱的POP3/SMTP服务开启(在设置>账户下方)。
- 接着,点击生成授权码。
- 最后就是编程实现邮件发送。
MailAddress from = new MailAddress("115****473@qq.com"); //设置邮件发送人
MailAddress to = new MailAddress("leah****109@gmail.com"); //设置邮件接收人
MailMessage message = new MailMessage(from,to); //实例化MaileMessage类对象
message.Subject = "邮件测试"; //设置发送邮件的主题
message.Body = "邮件正文"; //设置发送邮件的内容
SmtpClient client = new SmtpClient();
client.Host = "smtp.qq.com";
client.EnableSsl = true;
client.UseDefaultCredentials = false;
//设置用于验证发件人身份的凭据
client.Credentials = new System.Net.NetworkCredential("115****473@qq.com", "这里填写授权码");//注意:授权码之间没有空格
client.Send(message); //发送邮件
注意:
1. 缺少client.EnableSsl = true; 会报错need EHLO and AUTH first!
2. 如果授权码填写错误,会报错:mail from address must be same as authorization user.
GMAIL邮件
- 首先登陆Google账号,进入我的账号页面,在(登陆和安全>关联的应用和网站)下面找到(允许不够安全的应用)模块,如果已经停用,将其开启。
也可以直接在URL栏里输入如下连接,https://myaccount.google.com/lesssecureapps,跳转到不够安全的应用页面,将其开启。
- 启动之后,就可编写程序发送邮件啦。
MailAddress from = new MailAddress("leah****109@gmail.com"); //设置邮件发送人
MailAddress to = new MailAddress("115****473@qq.com"); //设置邮件接收人
MailMessage message = new MailMessage(from, to); //实例化MaileMessage类对象
message.Subject = "邮件测试"; //设置发送邮件的主题
message.Body = "邮件正文"; //设置发送邮件的内容
//实例化SmtpClient邮件发送类对象
SmtpClient client = new SmtpClient();
client.Host = "smtp.gmail.com";
client.Port = 587;//Gmail的smtp端口
client.EnableSsl = true;//Gmail要求SSL连接
client.Timeout = 50000;
client.DeliveryMethod = SmtpDeliveryMethod.Network;//Gmail的发送方式是通过网络的方式,需要指定
client.UseDefaultCredentials = false;
//设置用于验证发件人身份的凭据(分别填写自己邮箱的账户和密码)
client.Credentials = new System.Net.NetworkCredential("leah****109@gmail.com", "***");
client.Send(message); //发送邮件
注意:
1. 当不够安全的应用访问被停用,或者enableSsl没有设置为true的时候,会报错:SMTP 服务器要求安全连接或客户端未通过身份验证。 服务器响应为: 5.5.1 Authentication Required. Learn more at…
2. 最后,在完成本次实验之后,一定要记得把(不安全的应用访问)选项停用,否则会有账号安全问题。