发送邮件是很多网站用户注册及找回密码的通用功能,利用我们就可以实现邮件的自动发送。今天在测试这个功能是碰到了一个问题,因为公司所用的是腾讯的企业邮箱,所以开始一直未能成功,还报一些乱码之类的错误,经多次测试后终于成功了。下面是这个通过腾讯企业邮箱发送邮件的方法。
using System.Web.Mail;
/// <summary>
/// 发送邮件的方法
/// </summary>
/// <param name="toEmail">邮件接收地址</param>
/// <param name="fromEmail">邮件发送地址</param>
/// <param name="subject">邮件主题</param>
/// <param name="body">邮件内容</param>
/// <param name="userName">发送邮件用户名</param>
/// <param name="password">发送邮件密码</param>
/// <param name="smtpHost">smtp服务器</param>
public void SendEmail(string toEmail, string fromEmail, string subject, string body, string userName, string password, string smtpHost)
{
//设置邮件发送对象
MailMessage mailObj = new MailMessage();
// 设置邮件的发送地址
mailObj.From = fromEmail;
//设置邮件的接收地址
mailObj.To = toEmail;
//设置邮件发送的主题
mailObj.Subject = subject;
//设置邮件发送的内容
mailObj.Body = body;
// html格式的邮件
mailObj.BodyFormat = MailFormat.Html;
// 设置为高级优先权
mailObj.Priority = System.Web.Mail.MailPriority.High;
//验证
mailObj.Fields.Add("/cdo/configuration/smtpauthenticate", "1");
mailObj.Fields.Add("/cdo/configuration/sendusername", userName); //用户名
mailObj.Fields.Add("/cdo/configuration/sendpassword", password); //密码
//使用SmtpMail对象发送邮件
SmtpMail.SmtpServer = smtpHost;
SmtpMail.Send(mailObj);
}
在这里需要注意的是,其实这个方法的2个参数fromEnail和userName是完全相同的,就是说userName必须是你所用来发送邮件的企业邮箱的全名,如果不是会报错。比如你的企业邮箱为 master@ ,那么fromEmail和userName都是 master@
如果觉得《利用腾讯企业邮箱自动发送邮件》对你有帮助,请点赞、收藏,并留下你的观点哦!