就好像CSDN注册这种的,注册的时候发一份邮件到对方的邮箱里,然后在邮箱里点激活连接就注册成功啦,请问如何实现?
解决方案 »
- xml的读取
- 【初学者求教】汇总分组以后,GridView如何更换字段名问题。
- 请注意:这不是个玩笑!查了三天资料也没有想明白的一个关于数据库连接的简单问题(高分求助!!!)
- 如何在页面上动态增加照片及相应的说明
- JS和ASP.NET 传值问题
- 请教 asp.net打开WEB应用程序提示"与服务器的连接被重置" 如何解决
- File控件应该使用什么验证控件来验证?
- 【高手勿入】今天想出来了一个把所有网页扩展名搞成HTML的超级傻瓜的办法,一分钟包你学会
- 异常详细信息: System.Data.SqlClient.SqlException: OLE DB provider 'Microsoft.Jet.OLEDB.4.0' reported an error. [OLE/DB provider
- 在项目实施中的难点!!
- 请问怎样将控件放入updatepanel中?3Q。
- asp 标准表达式中数据类型不匹配
private void SendEmail()
{
//开始建立一个邮件对象
MailMessage mm = new MailMessage(); //创建一个MailAddress类的实例
mm.From = new MailAddress("发送邮件地址"); //邮件对象添加接受地址,支持群发,多个地址之间用 半角逗号 分开
mm.To.Add("[email protected],[email protected]");
//当然也可以用全地址添加
mm.To.Add(new MailAddress("[email protected]", "接收者g", Encoding.GetEncoding(936))); mm.Subject = "邮件主题"; mm.IsBodyHtml = true; //邮件正文是否是HTML格式,默认为false mm.Body = "邮件正文<b>THML代码</b>红色的字体 <font color=red>红</font>";
//创建简单邮件传输协议对象,并指定SMTP服务器名称
SmtpClient smtp = new SmtpClient("邮件地址或者服务器IP");
//发送邮件
smtp.Send(mm);
}注册成功之后可以调用这个方式 简单一点的发送邮件 深入了解请参阅MSDN
using System.Collections.Generic;
using System.Text;
using EasyTrader.Model;
using System.Net;
using System.Net.Mail;
using System.Data;
namespace EasyTrader.Components.Utility
{
/// <summary>
///
/// </summary>
public class SendMail
{
private SmtpClient mailClient;
private string ADDRESS_FROM;
/// <summary>
/// 构造函数
/// </summary>
/// <param name="id">发送邮箱id</param>
public SendMail(string id)
{
DataSet ds = new DataSet();
string strPath = AppDomain.CurrentDomain.SetupInformation.ApplicationBase;
ds.ReadXml(strPath + @"App_Data\email.xml");
DataView dv = new DataView();
dv.Table = ds.Tables[0];
dv.RowFilter = "id='admin'";
mailClient = new SmtpClient(dv[0]["smtpServer"].ToString(), Convert.ToInt32(dv[0]["port"]));
mailClient.EnableSsl = true;
NetworkCredential crendetial = new NetworkCredential(dv[0]["userId"].ToString(), dv[0]["password"].ToString());
mailClient.Credentials = crendetial;
ADDRESS_FROM = dv[0]["address"].ToString();
}
/// <summary>
/// 单个邮件发送
/// </summary>
/// <param name="title">标题</param>
/// <param name="body">内容</param>
/// <param name="add_to">地址</param>
/// <returns>bool</returns>
public bool SendMailToCustom(string title, string body, string add_to)
{ MailMessage message = new MailMessage(ADDRESS_FROM, add_to, title, body);
message.BodyEncoding = System.Text.Encoding.UTF8;
message.IsBodyHtml = true;
message.SubjectEncoding = System.Text.Encoding.UTF8;
try
{
mailClient.Send(message);
return true;
}
catch
{
return false;
}
}
/// <summary>
/// 群发邮件
/// </summary>
/// <param name="title">标题</param>
/// <param name="body">内容</param>
/// <param name="list_Email">地址列表</param>
/// <returns>string 空值为全部成功</returns>
public string SendMailToCustom(string title, string body, List<string> list_Email)
{ string mess = "";
int num = 0;
foreach (string add_to in list_Email)
{
num++;
MailMessage message = new MailMessage(ADDRESS_FROM, add_to, title, body);
message.BodyEncoding = System.Text.Encoding.UTF8;
message.IsBodyHtml = true;
message.SubjectEncoding = System.Text.Encoding.UTF8;
try
{
mailClient.Send(message);
mess += "";
}
catch (Exception ex)
{
mess += "发送第" + num + "封是出错了" + add_to + " " + ex.ToString();
} }
return mess;
}
/// <summary>
/// 群发邮件
/// </summary>
/// <param name="title">标题</param>
/// <param name="body">内容</param>
/// <param name="list_Email">地址列表</param>
public void SendMailToCustomReturnNull(string title, string body, List<string> list_Email)
{ int num = 0;
foreach (string add_to in list_Email)
{
num++;
MailMessage message = new MailMessage(ADDRESS_FROM, add_to, title, body);
message.BodyEncoding = System.Text.Encoding.UTF8;
message.IsBodyHtml = true;
message.SubjectEncoding = System.Text.Encoding.UTF8;
try
{
mailClient.Send(message);
}
catch
{
}
}
}
}
}
{
string Name = "zy";
Int64 UserID = 4;
string mailBody = "";
string mailUrl = "http://localhost:4672/EasyTraderWeb/MYET/Profile/ChangeEmail.aspx?NameUrl=" + StringHelper.Base64StringEncode(txtNewEmail.Text) + "&UserID=" + UserID;
mailBody += "<b>亲爱的" + Name + ",</b><br><br><table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"10\"><tr><td valign=\"top\">";
mailBody += "EasyTrade已经收到您的修改Email信息,请激活以完成修改。";
mailBody += "<br><br><div align=\"center\">";
mailBody += "<a href=" + mailUrl + " target=\"_blank\">";
mailBody += "<b><font style=\"font-size:12px\">点击这里,立即修改</font></b></a></div><br>-----------------------------------------------<br>如果您点击上述链接无效,请把下面的代码拷贝到浏览器的地址栏中:<br>";
mailBody += "<a href=" + mailUrl + "</a>";
mailBody += "<br><br></td><tr><table>";
SendMail sendEmil = new SendMail("admin");
//发送邮件成功
if (sendEmil.SendMailToCustom("ET修改Email!", mailBody, txtNewEmail.Text))
{
pnlChangEmail.Visible = false;
pnlMessage.Visible = true;
}
//发送邮件失败
//else
//{
// divMessage.InnerHtml = "发送失败";
//}
//pnlChangEmail.Visible = false;
//pnlMessage.Visible = true;
}之后你把要发的内容拼出来
在放邮件的内容里加上<a href ='www.xxx.com/aa.aspx?"+UserName+"'>激活</a>.这样就会产生一个带用户名的激活链接(当然你也可以将用户名换成其他的东西,这一切都是个标记,是个参数。只要你在得到这个参数的时候知道是什么意思就可以了)
在aa.aspx页面里的代码
先获取传过来的参数。如果注册成功的话,这个账号的状态为0(没有激活),那么根据这个参数比较下,1、是否有这么一个账号。2、看下这个账号的状态是否为0;如果的却有这么个账号,而且状态为0,那么update下。状态改为1;表示激活成功!