1.第一种发送方式
/// <summary>
/// 发送邮件
/// </summary>
/// <param name="SmtpServer">发件邮箱服务器</param>
/// <param name="PassWord">发件人邮箱密码</param>
/// <param name="SendMail">发件人邮箱</param>
/// <param name="SendName">发件人在邮件中的显示名</param>
/// <param name="ReceiverMail">收件人邮箱</param>
/// <param name="ReceiverName">收件人在邮箱中的显示名</param>
/// <param name="MailSubject">邮件标题</param>
/// <param name="MailBody">邮件正文</param>
/// <param name="Attachments">附件路径</param>
/// <returns></returns>
public static bool SendMail(string SmtpServer, string PassWord, string SendMail, string SendName, string ReceiverMail, string ReceiverName, string MailSubject, string MailBody, string Attachments)
{
System.Net.Mail.SmtpClient smtp;
smtp = new System.Net.Mail.SmtpClient(SmtpServer);
smtp.Timeout = 60000;
smtp.UseDefaultCredentials = true;
//设置发件人用户密码
smtp.Credentials = new System.Net.NetworkCredential(SendMail.Split('@')[0], PassWord);
smtp.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage();
message.SubjectEncoding = System.Text.Encoding.UTF8;
message.BodyEncoding = System.Text.Encoding.UTF8;
//设置发件人地址姓名
message.From = new System.Net.Mail.MailAddress(SendMail, SendName, System.Text.Encoding.UTF8);
//设置收件人地址姓名
message.To.Add(new System.Net.Mail.MailAddress(ReceiverMail, ReceiverName, System.Text.Encoding.UTF8));
message.IsBodyHtml = true;
message.Subject = MailSubject;
message.Body = MailBody;
if (Attachments != "" && Attachments != null)
message.Attachments.Add(new System.Net.Mail.Attachment(Attachments));
try
{
smtp.Send(message);
return true;
}
catch (Exception ex)
{
string mes = ex.Message;
return false;
}
}
//此种方式要设置 SMTP 服务
//1,把SMTP服务打开
//2,设置SMTP-属性-选择自己的IP(我用本机测试)-访问-中继-选择仅使用一下列表!Ok!
///第二种方式
/// <summary>
///
/// </summary>
/// <param name="messageSubject"></param>
/// <param name="messageBody"></param>
/// <param name="messageTo"></param>
public static void SendEmailNew(string messageSubject, string messageBody, string messageTo)
{
if (messageTo == string.Empty)
return;
string mailServerName = ConfigurationManager.AppSettings["EmailServer"].ToString();
System.Web.Mail.MailMessage mess = new System.Web.Mail.MailMessage();
try
{
//
mess.From = ConfigurationManager.AppSettings["EmailSender"].ToString();
string emailAccount = ConfigurationManager.AppSettings["EmailAccount"].ToString();
string emailPWD = ConfigurationManager.AppSettings["EmailPWD"].ToString();
mess.Cc = messageTo;
mess.Subject = messageSubject;
mess.Body = messageBody;
mess.BodyFormat = System.Web.Mail.MailFormat.Html;
System.Text.Encoding GB2312 = System.Text.Encoding.GetEncoding("GB2312");
//mess.SubjectEncoding = GB2312;
// Set message encoding
mess.BodyEncoding = GB2312;// System.Text.Encoding.UTF8;
mess.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1");
mess.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", emailAccount);
mess.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", emailPWD);
System.Web.Mail.SmtpMail.SmtpServer = "mail.tldchina.com";
System.Web.Mail.SmtpMail.Send(mess);
}
catch
{
try
{
System.Web.Mail.SmtpMail.Send(mess);
}
catch
{
try
{
System.Web.Mail.SmtpMail.Send(mess);
}
catch (FormatException ex)
{
//throw ex;
//this.ShowMessage("发送反馈邮件失败:" + ex.Message);
}
catch (SmtpException ex)
{
//throw ex;
//this.ShowMessage("SMTP 服务器错误:" + ex.Message);
}
catch (Exception ex)
{
//throw ex;
//this.ShowMessage("发送失败:" + ex.Message);
}
}
}
finally
{
//mess.Dispose();
}
}
config 文件中放入以下代码
<add key="EmailServer" value="202.106.236"/>
<add key="EmailSender" value="邮箱"/>
<add key="EmailAccount" value="newsletter"/>
<add key="EmailPWD" value="666666"/>