邮箱 万维网通讯 smtp
废话不多说 人很忙
结果参考
http://www.ucsmy.net/RegistrationManage/RegistrationInfo.aspx
需要掌握 web.config的配置及调用
需要了解Smtp相关知识 比较麻烦
需要了解Encoding加密
了解 StringBuilder
html UI 美工
这里的发送邮箱用QQ
web.config配置
<appSettings>节点下 增加
<!--发送邮件-->
<add key="email-Address" value="957801754@qq.com" />
<!--这个用的是QQ的 独立密码(PS不是QQ登入密码哟) 1找到QQ邮箱的设置 2找到帐户 点进去 找到下面的 的
POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务
-->
<add key="email-psd" value="cao919" />
<!--QQ的发送服务器是用的这个 你们公司用的可能会换 smtp.qq.com-->
<add key="email-host" value="smtp.qq.com" />
<!--WebRoot 这个以后换成你们公司域名 -->
<add key="webRoot" value="http://localhost:8888/" />
二 当你数据新增成功后 发送
<pre name="code" class="csharp">if (IsAdd) //数据新增成功
{
<pre name="code" class="csharp">//<span style="font-family: Arial, Helvetica, sans-serif;">user</span>
string webRoot = System.Configuration.ConfigurationManager.AppSettings["webRoot"].ToString(); StringBuilder urlsb = new StringBuilder(); string url = "http://mail." + user.Email.Split('@')[1]; urlsb.Append("<div style=' margin:50px auto; background:#e5f5fc;border-radius: 5px 5px 5px 5px;width:698px;height:100%;font-size:12px; color:#000; overflow:hidden;'><img src='https://usercenter.yihaojiaju.com/Images-2.0/common/newlogo-new.png'/><p style='padding:10px 50px 0 50px; line-height:30px;'> ").Append(" <span style='color:#f01c1c;'> 您好!感谢您使用**系统。</span>").Append("<br/> ").Append("您的注册帐号为:<span style='color:#f01c1c;'>").Append(
user
.StaffID).Append("</span>您的密码为:<span style='color:#f01c1c;'>" +
user
.Pwd + " 注册成功后请修改密码!</span>").Append("<br/><span style='color:#f01c1c;'>激活邮箱帐号后可以使用跟多功能。</span><br/> ").Append("<a style='color:#258DCC; font-size:11pt;' ").Append("href='" + webRoot + "Sys/Staff/StaffEmailSuccess.aspx?id=").Append(SerializerHelper.Encrypt(
user
.StaffID.ToString())).Append("&LoginUser=").Append(SerializerHelper.Encrypt(
user
.Name)).Append("").Append("").Append("'>").Append(" ").Append("点击此处").Append("</a>").Append("立即激活您的帐号(该链接在12小时内有效)<br/> <a style='color:#3E83D1;' ").Append("href='" + webRoot + "Sys/Staff/StaffEmailSuccess.aspx?id=").Append(SerializerHelper.Encrypt(
user
.StaffID.ToString())).Append("&LoginUser=").Append(SerializerHelper.Encrypt(
user
.Name)).Append("").Append("").Append("'>").Append(webRoot + "Sys/Staff/StaffEmailSuccess.aspx?id=").Append(SerializerHelper.Encrypt(
user
.StaffID.ToString())).Append("&LoginUser=").Append(SerializerHelper.Encrypt(
user
.Name)).Append("</a><br/>").Append("<--如果您不能点击此链接,请将以上链接复制到浏览器地址栏中访问--><br/>").Append("此信是由一号家居MS系统发出,系统不接收回信,请勿直接回复。如有任何疑问请联系我们。 ").Append("<br/> <span style='font-weight:bold;font-size:12px;'>感谢使用我们的服务</span> <br/>").Append("** <br/>全国服务热线:4000-000-00 <br/> ").Append(" </p> <div style='height:39px; background:#099be6; color:#fff; font-size:16px; text-align:center; line-height:39px;'>cao919/div>").Append("</div>");
//调用下面的方法
bool sendEmail = BaseComm.Email_Send(<pre name="code" class="csharp">user
.Email, "请激活【***系统】", urlsb.ToString()); string Message = "<script language=javascript>"; Message += "if(confirm(\"已成功录入人员!继续录入吗?\")){"; Message += " window.location.href=\"userAdd.aspx?"; Message += "}else{parent.location.reload();}"; Message += "</script>"; Response.Write(Message); }
第二步所需的帮助类
BaseComm类
<pre name="code" class="csharp">/// <summary>
/// 发送邮件
/// </summary>
/// <param name="MessageTo"></param>
/// <param name="MessageSubject"></param>
/// <param name="MessageBody"></param>
/// <returns></returns>
public static bool Email_Send(string MessageTo, string MessageSubject, string MessageBody)
{
Regex r = new Regex("^\\s*([A-Za-z0-9_-]+(\\.\\w+)*@(\\w+\\.)+\\w{2,5})\\s*$");
if (!r.IsMatch(MessageTo))
return false;
if (string.IsNullOrEmpty(MessageTo))
return false;
MailMessage message = new MailMessage();
string fromAddress = ConfigurationManager.AppSettings["email-Address"];
string psd = ConfigurationManager.AppSettings["email-psd"];
message.From = new MailAddress(fromAddress, "MS系统");
try
{
message.To.Add(MessageTo); //收件人邮箱地址可以是多个以实现群发
}
catch
{
return false;
}
message.Subject = MessageSubject;
message.Body = MessageBody;
message.IsBodyHtml = true; //是否为html格式
message.Priority = MailPriority.High; //发送邮件的优先等级
SmtpClient sc = new SmtpClient();
sc.Host = ConfigurationManager.AppSettings["email-Host"]; //指定发送邮件的服务器地址或IP
sc.Port = 25; //指定发送邮件端口
sc.Credentials = new System.Net.NetworkCredential(fromAddress, psd); //指定登录服务器的用户名和密码(发件人的邮箱登陆密码)
try
{
sc.Send(message); //发送邮件
}
catch (Exception ex)
{
// LogHelper(new Guid().ToString(), 1);
return false;
}
return true;
}
三 加密解密的帮助方法
SerializerHelper类
/// <summary>
/// 加密Token
/// </summary>
/// <param name="token">明文Token</param>
/// <returns>加密的Token</returns>
public static string Encrypt(string content)
{
if (string.IsNullOrEmpty(content))
{
return string.Empty;
}
Byte[] bytes = Encoding.UTF8.GetBytes(content);
//把8位字节数组转换成Base64字符串
return Convert.ToBase64String(bytes);
}
/// <summary>
/// 解密Token
/// </summary>
/// <param name="token">密文Token</param>
/// <returns>解密的Token</returns>
public static string Decrypt(string content)
{
if (string.IsNullOrEmpty(content))
{
return string.Empty;
}
byte[] tokenByte = Convert.FromBase64String(content);
//把Base64字符串转换成8位字节数组
return Encoding.UTF8.GetString(tokenByte);
}