/// <summary>
/// 发送邮件
/// </summary>
/// <param name="msg">邮件内容</param>
/// <param name="subject">邮件主题</param>
/// <param name="File">附件地址</param>
/// <param name="senderEmail">发件人邮箱</param>
/// <param name="mail">收件人邮箱</param>
/// <param name="senderPwd">发件人密码</param>
/// <returns>发送是否成功</returns>
public bool SendEmail(string msg,string subject,string File, string senderEmail, string mail, string senderPwd)
{
if (!validateEmail(senderEmail))
{
return false;
}
SmtpClient Client = new SmtpClient();
Client.Host = GetSmtp(senderEmail);
Client.UseDefaultCredentials = false;
Client.Credentials = new System.Net.NetworkCredential(senderEmail, senderPwd);//登录认证
MailMessage message = new MailMessage(senderEmail, mail);
message.Subject = subject;
message.Body = msg;
message.BodyEncoding = System.Text.Encoding.UTF8;
if (File!= null&&File!="")
{
Attachment data = new Attachment(File);
message.Attachments.Add(data);
}
try
{
Client.Send(message);
return true;
}
catch (Exception)
{
return false;
}
}
#region 验证输入为Email
/// <summary>
/// 验证输入为Email
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static bool validateEmail(string str)
{
return Regex.IsMatch(str, @"\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*");
}
#endregion
#region 得到STMP
public string GetSmtp(string Email)
{
string temp = "";
string SmtpStr = Email.Substring(Email.IndexOf("@"));
switch (SmtpStr)
{
case "@126.com":
temp = "smtp.126.com";
break;
case "@163.com":
temp = "smtp.163.com";
break;
case "@sina.com":
temp = "smtp.sina.com";
break;
case "@qq.com":
temp = "smtp.qq.com";
break;
case "@139.com":
temp = "smtp.139.com ";
break;
case "@gmail.com":
temp = "smtp.gmail.com ";
break;
case "@hotmail.com":
temp = "smtp.hotmail.com ";
break;
case "@foxmail.com":
temp = "smtp.foxmail.com ";
break;
}
return temp;
}
#endregion
/// 发送邮件
/// </summary>
/// <param name="msg">邮件内容</param>
/// <param name="subject">邮件主题</param>
/// <param name="File">附件地址</param>
/// <param name="senderEmail">发件人邮箱</param>
/// <param name="mail">收件人邮箱</param>
/// <param name="senderPwd">发件人密码</param>
/// <returns>发送是否成功</returns>
public bool SendEmail(string msg,string subject,string File, string senderEmail, string mail, string senderPwd)
{
if (!validateEmail(senderEmail))
{
return false;
}
SmtpClient Client = new SmtpClient();
Client.Host = GetSmtp(senderEmail);
Client.UseDefaultCredentials = false;
Client.Credentials = new System.Net.NetworkCredential(senderEmail, senderPwd);//登录认证
MailMessage message = new MailMessage(senderEmail, mail);
message.Subject = subject;
message.Body = msg;
message.BodyEncoding = System.Text.Encoding.UTF8;
if (File!= null&&File!="")
{
Attachment data = new Attachment(File);
message.Attachments.Add(data);
}
try
{
Client.Send(message);
return true;
}
catch (Exception)
{
return false;
}
}
#region 验证输入为Email
/// <summary>
/// 验证输入为Email
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static bool validateEmail(string str)
{
return Regex.IsMatch(str, @"\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*");
}
#endregion
#region 得到STMP
public string GetSmtp(string Email)
{
string temp = "";
string SmtpStr = Email.Substring(Email.IndexOf("@"));
switch (SmtpStr)
{
case "@126.com":
temp = "smtp.126.com";
break;
case "@163.com":
temp = "smtp.163.com";
break;
case "@sina.com":
temp = "smtp.sina.com";
break;
case "@qq.com":
temp = "smtp.qq.com";
break;
case "@139.com":
temp = "smtp.139.com ";
break;
case "@gmail.com":
temp = "smtp.gmail.com ";
break;
case "@hotmail.com":
temp = "smtp.hotmail.com ";
break;
case "@foxmail.com":
temp = "smtp.foxmail.com ";
break;
}
return temp;
}
#endregion