实现用户注册时,向其油箱发送激活码邮件,并进行状态处理
来源:互联网 发布:异或校验算法 编辑:程序博客网 时间:2024/04/20 18:28
**********************Mail.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Configuration;
using System.Data.SqlClient;
using System.Net.Mail;
using System.Text;
using System.Net;
namespace webMail
{
public partial class Mail : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
int number = 0;
public void sendMail(string email, string activecode)//发邮件的方法
{
System.Net.Mail.MailMessage msg = new MailMessage();//创建电子邮件
msg.From = new MailAddress("liuxiaofei0809@126.com");//邮件的由来
msg.To.Add(email);//收件人的地址
msg.Subject = "请激活注册";
StringBuilder connentBuilder = new StringBuilder();
connentBuilder.Append("请单击一下链接完成激活");
connentBuilder.Append("<a href=http://localhost:50988/CheckActiveCode.aspx?activecode=" + activecode + "&id=" +number+ ">" + "请单击连接完成激活" + "</a>");
msg.Body = connentBuilder.ToString();
msg.IsBodyHtml = true;
SmtpClient sc = new SmtpClient();//传输smtp
sc.Host = "smtp.126.com";
sc.Port = 25;//发件方端口
NetworkCredential credential = new NetworkCredential();
credential.UserName = "liuxiaofei0809@126.com";
credential.Password = "xiaofei0809";
sc.Credentials = credential;
sc.Send(msg);
}
protected void Button1_Click(object sender, EventArgs e)
{
string username = this.TextBox1.Text;
string password = this.TextBox2.Text;
string email = this.TextBox3.Text;
string activecode = Guid.NewGuid().ToString().Substring(0,8); //生成激活码
//链接数据库
string constr = ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
using(SqlConnection con=new SqlConnection (constr))
{
string sql = "insert into Mail (UserName,Password,Email,Active,Activecode) output inserted.id values(@username,@password,@email,@active,@activecode)";
SqlParameter[] prm = new SqlParameter[]
{
new SqlParameter("@username",username),
new SqlParameter ("@password",password),
new SqlParameter ("@email",email),
new SqlParameter("@active",false),
new SqlParameter("@activecode",activecode)
};
using (SqlCommand cmd=new SqlCommand (sql,con))
{
con.Open();
cmd.Parameters.AddRange(prm);
number=(int) cmd.ExecuteScalar();
}
}
if (number > 0)
{
sendMail(email, activecode);
Response.Redirect("regionMessage.aspx");
}
else
{
Response.Write("注册失败,请重新注册");
}
}
}
}
***********************regionMessage.aspx
<div>
<h3>恭喜您注册成功</h3>
</div>
*****************CheckActiveCode.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Configuration;
using System.Data.SqlClient;
namespace webMail
{
public partial class CheckActiveCode : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
int number;
//取出参数
int id= Convert.ToInt32(Request["id"]);
string activeCode = Request["activecode"].ToString();
//链接数据库
string constr = ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
using (SqlConnection con = new SqlConnection(constr))
{
string sql = "select count(*) from Mail where id=@id";
using(SqlCommand cmd=con.CreateCommand())
{
con.Open();
cmd.CommandText = sql;
cmd.Parameters.AddWithValue("@id",id);
number= Convert.ToInt32(cmd.ExecuteScalar());
}
}
if (number > 0)
{
string AC;
using (SqlConnection con = new SqlConnection(constr))
{
string sql = "select Activecode from Mail where id=@id";
using (SqlCommand cmd = con.CreateCommand())
{
con.Open();
cmd.CommandText = sql;
cmd.Parameters.AddWithValue("@id", id);
AC = cmd.ExecuteScalar().ToString();
}
}
if (activeCode == AC)
{
Response.Write("激活成功");
using (SqlConnection con = new SqlConnection(constr))
{
string sql = "update Mail set Active=1 where id=@id";
using (SqlCommand cmd = con.CreateCommand())
{
con.Open();
cmd.CommandText = sql;
cmd.Parameters.AddWithValue("@id", id);
number = Convert.ToInt32(cmd.ExecuteScalar());
}
}
}
else
{
Response.Write("用户已存在,但没有注册成功");
}
}
else
{
Response.Write("用户不存在,还没有注册成功");
}
}
}
}
- 实现用户注册时,向其油箱发送激活码邮件,并进行状态处理
- 实现用户注册时,向其油箱发送激活码邮件,并进行状态处理
- 简单的实现用户注册时,向其油箱发送激活码邮件,并进行状态处理。
- 1.制作客户端邮件发送系统(winform版)实现用户注册时,向其油箱发送激活码邮件,并进行状态处理。
- 写一个实现用户注册时,向其邮箱发送激活码邮件,并进行状态处理。
- java 实现注册时发送激活邮件并激活
- java注册时向指定邮箱发送邮件激活
- java注册时向指定邮箱发送邮件激活
- java 实现注册时发送激活邮件+激活
- java 实现注册时发送激活邮件+激活
- java 实现注册时发送激活邮件+激活
- 网上商城之用户注册发送邮件激活
- javaMail发送邮件激活注册用户
- asp.net实现一个用户进行注册的时候同时发送一个邮件到注册人的邮箱,通过发送的邮箱链接来激活该帐号
- asp.net实现一个用户进行注册的时候同时发送一个邮件到注册人的邮箱,通过发送的邮箱链接来激活该帐号
- .NET实现注册发送邮件激活账户
- 演示账号激活的过程:注册——>向指定邮箱发送邮件——>用户登录邮箱,激活账号
- 注册发送激活邮件
- 2013年学习计划
- 心得15-hibernate的优化2-缓存(一级、二级)
- 心得16-hibernate的优化3-事务处理
- linux常用命令重点提取
- 环境的还原和备份操作
- 实现用户注册时,向其油箱发送激活码邮件,并进行状态处理
- undo表空间被误删解决办法
- SSH框架中3.0版本不能执行SQL语句update,insert的解决办法。
- 关于Oracle控制台启动不了的临时解决办法集锦
- 2013寄语
- 用户接口设计三 队列
- DesToon如何制作模板
- Android平台上抓包
- Linux IPC发展的宏观介绍