关于邮件发送
用C#代码发送邮件,试了网上找的很多代码,每次都是“与服务器的传输连接"失败,是不是还有什么地方需要配置啊,望大神解答,求求求!!!!
[解决办法]
光有代码不行,得配置好smtp服务器。
[解决办法]
// MailAttachment:与邮件附件有关的对象类
//MailMessage :邮件主体
//SmtpMail :负责发送邮件的SMTP协议。
//属性列表:
//MailEncoding :邮件的编码(Base64,UUEncode)
//MailFormat :邮件的格式(Html超文本格式,Text纯文本格式)
//MailPriority :邮件优先级(High, Medium, Low)
// Attachments :邮件附件
//Bcc :暗送地址
//Body :邮件主体
//BodyFormat :邮件格式(html,text)
//Cc :抄送地址
//From :发信人地址
//Priority :邮件优先级(High, Medium,Low)
//Subject :邮件主题
//To :接收人地址
//UrlContentBase :在HTML格式邮件中的URL编码方式
//UrlContentLocation:邮件信息的优先级(High, Medium,Low)
private void button1_Click(object sender, EventArgs e)
{
sendmail("happy09li2@126.com", "测试是否可以发送邮箱" + DateTime.Now, "邮件发送成功!");
}
static string strHost = String.Empty;
static string strAccount = String.Empty;
static string strPwd = String.Empty;
static string strFrom = String.Empty;
/// <summary>
/// 发送邮件
/// </summary>
/// <param name="to">接收方邮件地址</param>
/// <param name="title">邮件标题</param>
/// <param name="content">邮件正文内容</param>
public static bool sendmail(string to, string title, string content)
{
strHost = "pop3.126.com"; //STMP服务器地址
strAccount = "happy09li@126.com"; //SMTP服务帐号
strPwd = "********"; //SMTP服务密码
strFrom = "happy09li@126.com"; //发送方邮件地址
SmtpClient _smtpClient = new SmtpClient();
_smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;//指定电子邮件发送方式
_smtpClient.Host = strHost; ;//指定SMTP服务器
_smtpClient.Credentials = new System.Net.NetworkCredential(strAccount, strPwd);//用户名和密码
MailMessage _mailMessage = new MailMessage(strFrom, to);
_mailMessage.Subject = title;//主题
_mailMessage.Body = content;//内容
_mailMessage.BodyEncoding = System.Text.Encoding.UTF8;//正文编码
_mailMessage.IsBodyHtml = true;//设置为HTML格式
_mailMessage.Priority = MailPriority.Low;//优先级
try
{
_smtpClient.Send(_mailMessage);
return true;
}
catch
{
return false;
}
}
public static void sendEmail(List<string> receiveNames,string title,string content)
{
System.Net.Mail.MailMessage mailMsg = new System.Net.Mail.MailMessage();
if (String.IsNullOrEmpty(content)) return;//没内容则不发送
mailMsg.From = new MailAddress("Daniel_xiong@szgalaxy.com");
if (receiveNames == null) return;
foreach (string name in receiveNames)
{
mailMsg.To.Add(name);
}
mailMsg.Subject = title;
mailMsg.Body = content;
mailMsg.BodyEncoding = Encoding.UTF8;
mailMsg.IsBodyHtml = true;
mailMsg.Priority = System.Net.Mail.MailPriority.High;
SmtpClient smtp = new SmtpClient();
smtp.Credentials = new NetworkCredential("email@163.com", "pwd");
smtp.Port = 25; // Gmail 使用 465 和 587 端口
smtp.Host = "smtp.163.com";
smtp.EnableSsl = false; // 如果使用GMail,则需要设置为true
try
{
smtp.Send(mailMsg);
}
catch (SmtpException ex)
{
Prj.Log.Error("Error", ex);
}
}