[csharp]
///驗證電子郵件的正則表達式
[csharp] view plaincopyprint?
string emailStr = @"^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$";
[csharp]
/// <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; www.2cto.com
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);
}