首页 > 技术文章 > smtp 发送邮件实例

MaNongWorld 2017-12-11 15:06 原文

发送邮件的关键点在于邮箱服务器地址是否一致

//smtp 服务器地址,咨询 smtp 提供商,例如 smtp.126.net 这种格式,端口和服务器地址是配套的,一般是 465 或者 25
SmtpClient smtpClient = new SmtpClient("smtp.xxx.com", 465);
smtpClient.Credentials = new NetworkCredential("用户名", "密码");
 
 
//仅赋值必填字段
var mailMessage = new MailMessage("发送人邮箱", "收件人邮箱")
{
    Sender = new MailAddress("发送方邮箱"),
    Subject = "邮件标题",
    Body = "邮件正文",
    IsBodyHtml = true,//有不需要发送 html 的吗?                   
};
 
try
{
    #region 以下方式三选一
    //同步发送,发送完了要么走异常,要么成功
    smtpClient.Send(mailMessage);
 
    //异步发送
    smtpClient.SendCompleted += SmtpClient_SendCompleted;
    smtpClient.SendAsync(mailMessage, "自定义或null");
 
    //异步发送,用到了 Task 知识,不懂就不要用
    smtpClient.SendMailAsync(mailMessage);
    #endregion
}
catch (Exception ex)
{
    //发送失败
}

以下代码用于  SendAsync 的时候

//该事件用于 SendAsync 方法
private static void SmtpClient_SendCompleted(object sender, System.ComponentModel.AsyncCompletedEventArgs e)
{
    var state = e.UserState;//这就是 SendAsync 的第二个参数
}

 

推荐阅读