------- Windows Phone 7手机开发、.Net培训、期待与您交流! -------
C#实现邮件发送。
UI层代码:
string subject = "请点击链接激活商城账户";
StringBuilder builder = new StringBuilder();
builder.Append("这是您订阅的激活邮件,请点击链接激活账户:" + userModel.LoginId + "。请点击链接激活账户:");
//HttpUtility.UrlEncode(loginId)对Url字符串进行编码。防止中文获取时的乱码问题
builder.Append("<a href='http://115.28.171.23/member/activeuser.htm?activecode=" + userModel.ActiveCode + "&loginid=" + HttpUtility.UrlEncode(userModel.LoginId) + "'>激活</a>");
string content = builder.ToString();
try
{
//发送激活邮件
BLL.mycode.SendMail.Send(subject, content, userModel.EMail);
userBll.UpdateActiveEMailSendTimes(userModel.LoginId);
context.Response.Write("01");
}
catch
{
//邮件发送失败
context.Response.Write("02");
}
BLL层代码
namespace shop.BLL.mycode
{
public class SendMail
{
/// <summary>
/// 发送邮件
/// </summary>
/// <param name="subject">主题</param>
/// <param name="content">内容</param>
/// <param name="email">收件人</param>
public static void Send(string subject, string content, string email)
{
TSetting setModel = new TSetting();
Model.TSetting model = new Model.TSetting();
//两个类,System.Net.Mail 要引入System.Net.Mail
MailMessage mailMsg = new MailMessage();
//源邮件地址与发件人
//mailMsg.From = new MailAddress(HttpRuntime.Cache["setting_系统邮件地址"].ToString(), HttpRuntime.Cache["setting_发件人"].ToString());
mailMsg.From = new MailAddress(setModel.GetModelByName("系统邮件地址"), setModel.GetModelByName("发件人"));
//目的邮件地址(可以有多个收件人)
mailMsg.To.Add(email);
//邮件标题
mailMsg.Subject = subject;
//发送邮件的内容
mailMsg.Body = content;
mailMsg.IsBodyHtml = true;
//使用简单邮件传输协议发送邮件 smtp.qq.com smtp.163.com等smtp服务器
//SmtpClient client = new SmtpClient(HttpRuntime.Cache["setting_系统邮件SMTP"].ToString());
SmtpClient client = new SmtpClient(setModel.GetModelByName("系统邮件SMTP"));
//发件人信息凭证(用户名、密码)
//client.Credentials = new NetworkCredential(HttpRuntime.Cache["setting_系统邮件用户名"].ToString(), HttpRuntime.Cache["setting_系统邮件密码"].ToString());
client.Credentials = new NetworkCredential(setModel.GetModelByName("系统邮件用户名"), setModel.GetModelByName("系统邮件密码"));
client.Send(mailMsg);
}
}
}