1.打开qq邮箱的smtp服务
点击设置
点击账户
开启smtp服务
复制出来授权码
2.编写需要的接口
using System;
using System.Net;
using System.Net.Mail;
using System.Net.Security;
using System.Security.Cryptography.X509Certificates;
using System.Text;
namespace AmazonSESSample
{
class Program
{
static void Main(string[] args)
{
try
{
MailMessage mail = new MailMessage();
//是谁发送的邮件
//fromEmail 写你的邮箱地址 xxxxxx@qq.com
//name 与fromEmail关联的显示名。此参数可以为 null
mail.From = new MailAddress(fromEmail, name);
//发送给谁 你要发送的邮箱号
mail.To.Add(toEmail);
//邮件的标题
mail.Subject = "测试邮件发送";
//邮件标题的编码方式
mail.SubjectEncoding = Encoding.UTF8;
//邮件内容的编码方式
mail.BodyEncoding = Encoding.UTF8;
//邮件发送优先级
mail.Priority = MailPriority.High;
//邮件内容
mail.Body = "测试邮件发送的内容";
//邮件是否HTML形式发送
mail.IsBodyHtml = true;
//邮件服务器和端口
//host 你发送邮件的服务器,我们用的是qq,他的服务器就是 smtp.qq.com
//port 端口号,这里一般使用 25, 465 or 587 最好使用587
SmtpClient smtp = new SmtpClient( host, port);
//SmtpClient smtp = new SmtpClient("smtp.qq.com", 587);
//使用默认凭证
smtp.UseDefaultCredentials = true;
//是否使用安全套接字层加密连接
smtp.EnableSsl = true;
//指定发送方式
//SmtpDeliveryMethod.Network 电子邮件通过网络发送到 SMTP 服务器。
smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
//指定登录名和密码
//username 就是你的邮箱xxxxxx@qq.com
//password 就是你的授权码,不需要空格
smtp.Credentials = new System.Net.NetworkCredential(username, password);
//访问超时时间
smtp.Timeout = 100000;
try
{
//开始发送邮件
smtp.Send(mail);
}
catch (SmtpException ex)
{
throw ex;
}
catch (Exception ex)
{
throw ex;
}
finally
{
//关闭邮件资源
mail.Dispose();
smtp = null;
}
}
catch (Exception e)
{
string s = e.ToString();
}
}
}
}
如果有疑问可以私信我解决。
这是我发送成功的截图