C#使用SMTP协议发送邮件(腾讯企业邮箱)

原文地址为: C#使用SMTP协议发送邮件(腾讯企业邮箱)

大部分邮箱都支持使用SMTP协议发送邮件,使用这种方法可以很方便的在系统开发中发送邮件。
在C#语言中,发送邮件的相关类位于System.Net.Mail命名空间下。
具体过程为创建邮件类MailMessage实例,之后创建SmtpClient实例,通过SmtpClient实例将MailMessage实例发送出去。

        /// <summary>
/// 发送邮件
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public static bool SendMail(MailModel model)
{
try
{
MailAddress receiver = new MailAddress(model.ReceiverAddress, model.ReceiverName);
MailAddress sender = new MailAddress(model.SenderAddress, model.SenderName);
MailMessage message = new MailMessage();
message.From = sender;//发件人
message.To.Add(receiver);//收件人
//message.CC.Add(sender);//抄送人
message.Subject = model.Title;//标题
message.Body = model.Content;//内容
message.IsBodyHtml = true;//是否支持内容为HTML

SmtpClient client = new SmtpClient();
client.Host = "smtp.exmail.qq.com";
//client.Port = 465;
client.EnableSsl = true;//是否启用SSL
client.Timeout = 10000;//超时
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.UseDefaultCredentials = false;
client.Credentials = new NetworkCredential(model.SenderAddress, model.SenderPassword);
client.Send(message);
return true;
}
catch (Exception e)
{
return false;
}
}

SmtpClient使用默认端口25,不使用端口465。
MailModel为自定义数据结构。

    /// <summary>
/// 邮件结构体
/// </summary>
public struct MailModel
{
/// <summary>
/// 收件人地址
/// </summary>
public string ReceiverAddress { get; set; }
/// <summary>
/// 收件人姓名
/// </summary>
public string ReceiverName { get; set; }
/// <summary>
/// 标题
/// </summary>
public string Title { get; set; }
/// <summary>
/// 内容
/// </summary>
public string Content { get; set; }
/// <summary>
/// 发件人地址(非必填)
/// </summary>
public string SenderAddress { get; set; }
/// <summary>
/// 发件人姓名(非必填)
/// </summary>
public string SenderName { get; set; }
/// <summary>
/// 发件人密码(非必填)
/// </summary>
public string SenderPassword { get; set; }
}

转载请注明本文地址: C#使用SMTP协议发送邮件(腾讯企业邮箱)

猜你喜欢

转载自blog.csdn.net/xfxf996/article/details/80888099
今日推荐