微软已经为我们准备好了现成的⼯具类供我们调⽤:
MailMessage //邮件信息类
SmtpClient //邮件发送类
⾸先需要在项⽬的类⽂件中引⽤以下命名空间:
using System.Net;
using System.Net.Mail;
然后直接上封装好的代码:
/// <summary>
/// 发送邮件⽅法
/// </summary>
/
// <param name="mailTo">接收⼈邮件</param>
/// <param name="mailTitle">发送邮件标题</param>
/// <param name="mailContent">发送邮件内容</param>
/// <returns></returns>
public static bool SendEmail(string mailTo, string mailTitle, string mailContent)
{
string stmpServer = @"smtp.qq";//smtp服务器地址
string mailAccount = @"123456789@qq";//邮箱账号
string pwd = @"xcryxiqzzasaebbe";//邮箱密码(qq邮箱此处使⽤授权码,其他邮箱见邮箱规定使⽤的是邮箱密码还是授权码)
//邮件服务设置
SmtpClient smtpClient = new SmtpClient();
smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;//指定电⼦邮件发送⽅式
smtpClient.Host = stmpServer;//指定发送⽅SMTP服务器
smtpClient.EnableSsl = true;//使⽤安全加密连接
smtpClient.UseDefaultCredentials = true;//不和请求⼀起发送
smtpClient.Credentials = new NetworkCredential(mailAccount, pwd);//设置发送账号密码
MailMessage mailMessage = new MailMessage(mailAccount, mailTo);//实例化邮件信息实体并设置发送⽅和接收⽅
mailMessage.Subject = mailTitle;//设置发送邮件得标题
mailMessage.Body = mailContent;//设置发送邮件内容
mailMessage.BodyEncoding = Encoding.UTF8;//设置发送邮件得编码
mailMessage.IsBodyHtml = false;//设置标题是否为HTML格式
mailMessage.Priority = MailPriority.Normal;//设置邮件发送优先级
try
{
smtpClient.Send(mailMessage);//发送邮件
return true;
}
catch (SmtpException ex)
{
throw ex;
}
}
qq怎么发邮件
常见问题及错误汇总:
1. 邮箱授权码怎么获取,以qq邮箱为例:
2. 抛出错误:System.Net.Mail.SmtpException:“命令顺序不正确。服务器响应为:Error: need EHLO and AUTH first !”
解决⽅案:确认邮箱是使⽤密码直接登录,还是授权码;
3. 抛出错误:mail from address must be same as authorization user
⼀般是邮箱账户设置中的 POP3/IMAP/SMTP 未开启
以qq邮箱为例:同样在账户设置中到下图,开启红框中的选项即可。
发布评论