从指定的邮箱发送电子邮件的方法,有的邮件服务器不好使,我只使用了163的邮箱,其他的邮箱需要另行测试:
/// <summary>
/// 从指定邮箱给用户发送电子邮件
/// </summary>
/// <param name="asSendToEMail">用户电子邮箱</param>
/// <param name="asTitle">邮件标题</param>
/// <param name="asContent">邮件内容</param>
/// <returns>布尔值</returns>
public bool dSendEMailUser(string asSendToEMail, string asTitle, string asContent)
{
try
{
string asUserName = ConfigurationManager.AppSettings["UserName"].ToString();
string asPassWord = ConfigurationManager.AppSettings["PassWord"].ToString();
string asSmtpServer = ConfigurationManager.AppSettings["EmailServer"].ToString();
//邮件对象
MailMessage emailMessage;
if (string.IsNullOrEmpty(asUserName))
{
asUserName = "客户服务中心";
}
//发件人
string sSenderEmail = "" + asUserName + "<" + ConfigurationManager.AppSettings["EmailAddress"] + ">";
emailMessage = new MailMessage(sSenderEmail, asSendToEMail, asTitle, asContent);
emailMessage.IsBodyHtml = true;
emailMessage.SubjectEncoding = System.Text.Encoding.Default;
emailMessage.BodyEncoding = System.Text.Encoding.Default;
//加入
emailMessage.Headers.Add("X-Priority", "3");
emailMessage.Headers.Add("X-MSMail-Priority", "Normal");
emailMessage.Headers.Add("X-Mailer", "Microsoft Outlook Express 6.00.2900.2869");
emailMessage.Headers.Add("X-MimeOLE", "Produced By Microsoft MimeOLE V6.00.2900.2869");
emailMessage.Headers.Add("ReturnReceipt", "1");
//邮件发送客户端
SmtpClient client = new SmtpClient();
//邮件服务器及帐户信息
client.Host = asSmtpServer;
client.Credentials = new System.Net.NetworkCredential(asUserName, asPassWord);
try
{
client.Send(emailMessage);
}
catch
{
return false;
}
return true;
}
catch
{
return false;
}
}
接受电子邮件于这个方法类似,就不单独写了。
web.config中添加:
<appSettings>
<add key="EmailAddress" value="UserName@163.com" />
<add key="EmailServer" value="Smtp.163.com" />
<add key="UserName" value="UserName" />
<add key="PassWord" value="PassWord" />
</appSettings>
--摘自互联网经修改