就好像CSDN注册这种的,注册的时候发一份邮件到对方的邮箱里,然后在邮箱里点激活连接就注册成功啦,请问如何实现?
解决方案 »
- OutputCache 怎么设置最大使用内存?
- 麻烦问题:未能找到路径“C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\News\Html\2007\11\20071123173351.html”的一部分。
- 怎样从数据库中检索用户名的姓的汉语拼音以a开头的用户呀!
- 求助:如何在webfrom里修改web用户控件中控件属性等
- xml文件绑定的问题?
- 求2.0存储过程分页
- 文本框的提示内容与文本框之间隔了一段距离,怎么解决?
- 请问使用ADO.NET时,引入的名字空间 system.data和system.data.oledb 是什么意思?
- 请Eray(黑桃六),redfox241()两位来接分--帮助解决以下的代码(多层应用)。400分
- ===???遇到难题了e.Item.Attributes.Add("onmouseover", "this.style.backgroundColor='#a9a9a9';this.style.color='buttontext';
- 请问怎样将控件放入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;表示激活成功!