当前位置:文档之家› 邮箱注册

邮箱注册

思路:

1.数据库加两个字,state字段(0:未激活,1:激活成功),ActiCode:(放激活码)

2.用户填写资料,插入数据成功,state字段默认是0,同时生成一个ActiCode也存入数据库

3.提示用户激活。。。发送邮件。。。邮件中带一个激活成功页的URL,URL里有两个参数(1,用户ID,2:激活码)

4.用户点击链接,回到激活成功页。。。激活成功页的Load事件,得到两个参数,以这两个参数为条件查询数据库里的数据,如果有,修改字段state为1,反之。。提示激活失败,重新激活。。


//这是发送邮件的
//Body里放A标签(前提是IsBodyHtml 设为true,才会允许发送HTML格式的)
#region
public static void Sends(string email)
{
string formto = "发件箱地址";
string to = email; //接收邮箱
string content = "";
string body = "";
string name = "发件箱";
string upass = "密码";
string smtp = "smtp地址";
SmtpClient _smtpClient = new SmtpClient();
_smtpClient.DeliveryMethod = https://www.doczj.com/doc/f89586550.html,work;//指定电子邮件发送方式
_smtpClient.Host = smtp; //指定SMTP服务器
_smtpClient.Credentials = new https://www.doczj.com/doc/f89586550.html,workCredential(name, upass);//用户名和密码
MailMessage _mailMessage = new MailMessage();
//发件人,发件人名
_mailMessage.From = new MailAddress(formto, "别名");
//收件人
_mailMessage.To.Add(to);
_mailMessage.SubjectEncoding = System.Text.Encoding.GetEncoding("gb2312");
_mailMessage.Subject = content;//主题

_mailMessage.Body = body;//内容
_mailMessage.BodyEncoding = System.Text.Encoding.GetEncoding("gb2312");//正文编码
_mailMessage.IsBodyHtml = true;//设置为HTML格式
_mailMessage.Priority = MailPriority.High;//优先级
try
{
_smtpClient.Send(_mailMessage);
}
catch (Exception)
{

}

}
#endregion




using https://www.doczj.com/doc/f89586550.html,.Mail;

public partial class jqueryText_Limit : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
MailAddress MessageFrom = new MailAddress("sengoo@https://www.doczj.com/doc/f89586550.html,"); //发件人邮箱地址
string MessageTo = "237254883@https://www.doczj.com/doc/f89586550.html,"; //收件人邮箱地址
string MessageSubject = "邮件主题"; //邮件主题
string MessageBody = "请进行邮箱验证来完成您注册的最后一步,点击下面的链接激活您的帐号:
激活

"; //邮件内容 (一般是一个网址链接,生成随机数加验证id参数,点击去网站验证。)

if (Send(MessageFrom, MessageTo, MessageSubject, MessageBody))
{
Response.Write("发送邮件成功");
}
else
{
Response.Write("发送邮件失败");
}
}
///


/// 发送电子邮件
///

/// 发件人邮箱地址
/// 收件人邮箱地址
/// 邮件主题
/// 邮件内容
///
public bool Send(MailAddress MessageFrom, string MessageTo, string MessageSubject, string MessageBody)
{
MailMessage message = new MailMessage();

// if (FileUpload1.PostedFile.FileName != "")
// {
// Attachment att = new Attachment("d://test.txt");//发送附件的内容
// message.Attachments.Add(att);
// }

message.From = MessageFrom;
message.To.Add(MessageTo); //收件人邮箱地址可以是多个以实现群发
message.Subject = MessageSubject;
message.Body = MessageBody;
//message.Attachments.Add(objMailAttachment);
message.IsBodyHtml = false; //是否为html格式
message.Priority = MailPriority.High; //发送邮件的优先等级

SmtpClient sc = new SmtpClient();
sc.Host = "https://www.doczj.com/doc/f89586550.html,"; //指定发送邮件的服务器地址或IP
sc.Port = 25; //指定发送邮件端口
sc.Credentials = new https://www.doczj.com/doc/f89586550.html,workCredential("sengoo@https://www.doczj.com/doc/f89586550.html,", "xxx"); //指定登录服务器的用户名和密码(发件人的邮箱登陆密码)

try
{
sc.Send(message); //发送邮件
}
catch
{
return false;
}
return true;

}
}


发送电子邮件 ,邮件中包含激活的 连接, 连接应有用户名 激活码 及 有限期, 当用户通过电子邮件点击 你提供的连接地址后,连接到你指定地址 更新数据库即可 。
这个指定地址可以建立一个页面 A.ASPX
注意:
1、注册成功的时候 数据库中的激活字段为0,同时生成一位“随机数加密 ”存到数据库。
2、用邮箱发给用户超链接加上刚刚生成的随机数加密传过去。类似A.ASPX?aa=$$@!$asd%!#sd
3、当用户点击了 把加密数与数据库里的比较,相等的话 激活字段为1,并且设置一个新的随机数更新到数据库
此时用户在点击以前链接的时候 就应经与数据库中的不一样了。即 失效。。。


相关主题
文本预览
相关文档 最新文档