返回顶部

收藏

C#异步发送Email代码

更多

C#验证邮箱地址:http://www.codesnippet.cn/detail/270620134315.html

/// <summary>
/// 异步发送电子邮件
/// </summary>
/// <param name="fromEmail">发送方电子邮件</param>
/// <param name="fromPwd">发送方电子邮件密码</param>
/// <param name="toEmail">接收方电子邮件</param>
/// <param name="subject">邮件标题</param>
/// <param name="body">邮件内空</param>
/// <param name="emailType">邮件类型</param> smtp.163.com.cn; smtp.qq.com.cn; smtp.126.com.cn;  smtp.sina.com.cn
private void SendEmailAsync(string fromEmail, string fromPwd, string toEmail, string subject, string body, string emailType)
{
    MailAddress addrFrom = new MailAddress(fromEmail, fromEmail);
    MailAddress addrTo = new MailAddress(toEmail, toEmail);
    MailMessage mm = new MailMessage(addrFrom, addrTo);
    mm.BodyEncoding = Encoding.UTF8;
    mm.IsBodyHtml = true;
    mm.Subject = subject;
    mm.Body = body;

    if (!string.IsNullOrEmpty(attFile))
    {
        Attachment att = new Attachment(attFile, MediaTypeNames.Application.Octet);
        ContentDisposition cd = att.ContentDisposition;
        cd.CreationDate = File.GetCreationTime(attFile);
        cd.ModificationDate = File.GetLastWriteTime(attFile);
        cd.ReadDate = File.GetLastAccessTime(attFile);
        mm.Attachments.Add(att);//添加附件
    }

    NetworkCredential nc = new NetworkCredential(fromEmail, fromPwd);
    SmtpClient smtp = new SmtpClient(emailType);
    smtp.UseDefaultCredentials = false;
    smtp.Credentials = nc;
    smtp.EnableSsl = false;
    smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
    smtp.SendCompleted+=new SendCompletedEventHandler(smtp_SendCompleted);
    smtp.SendAsync(mm, "OK");
}

void smtp_SendCompleted(object sender, AsyncCompletedEventArgs e)
{
    if (e.UserState.ToString() == "OK")
        MessageBox.Show("发送成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
//该片段来自于http://outofmemory.cn

标签:c#,.net,网络

收藏

0人收藏

支持

0

反对

0

发表评论