当用C#发送邮件的时候,出现以上的错误。
可能就是POP3/SMTP服务和IMAP/SMTP服务没有开启,那么开启这两个服务就可以使用第三方进行发邮件了。
如果还是无法,那么,就点击黄色框中的“生成授权码”。通过发送短信来生成授权码,把以前输入的邮箱登录密码改为生成的授权码就可以了。
开启步骤:登录网页版邮箱——》设置——》账户。然后就可以开启服务。
using System;
using System.Net.Mail;
namespace CS15_1
{
class Program
{
static void Main(string[] args)
{
//实例化一个SmtpClient类
SmtpClient myServer = new SmtpClient();
myServer.Host = "smtp.qq.com";//在这里我使用的是qq邮箱,所以是smtp.qq.com,如果你使用的是126邮箱,那么就是smtp.126.com。
MailMessage mailMessage = new MailMessage();//实例化一个发送邮件类
mailMessage.From = new MailAddress("发件人邮箱");//发件人邮箱地址,方法重载不同,可以根据需求自行选择
mailMessage.To.Add(new MailAddress("收件人邮箱"));//收件人邮箱地址
mailMessage.Subject = "发送邮件测试";//邮件标题
mailMessage.Body = "这是我给你发送的第一份邮件哦!";//邮件内容
//发送一些文件到邮箱
Attachment courseList = new Attachment(@"c:\myx.txt");
mailMessage.Attachments.Add(courseList);
courseList = new Attachment(@"c:\myp.jpg");
mailMessage.Attachments.Add(courseList);
myServer.EnableSsl = true;//使用安全加密连接
myServer.UseDefaultCredentials = false;//不和请求一块发送
myServer.Credentials = new System.Net.NetworkCredential("发件人邮箱", "密码或授权码");//验证发件人身份(发件人的邮箱,邮箱里的生成授权码);
myServer.Send(mailMessage);//发送
Console.Write("发送成功");
Console.ReadKey();
}
}
}