日期:2014-05-18  浏览次数:20489 次

.NET问题
现在的网站都有这样的功能,就是当用户注册成功时,并不是让用户立即登录,而是发条信息到用户注册时邮箱,等待用户的激活,这样用户才能登录,当用户忘记密码或是密码搞丢时,也是通过发送信息到用户邮箱.请问各位大侠,怎样才能做到这样的功能.有源码的希望能提供我一份(zh_lyx@126.com).谢谢.

------解决方案--------------------
简单的可以用jmail
------解决方案--------------------
mark
------解决方案--------------------
这个实现起来不难的啊,相应的技术网上一大堆。
支持楼上,就用GMAIL,采用异步发送,同时发送时增加事件处理,处理的方式采用委托!
OK。
------解决方案--------------------
mark
------解决方案--------------------
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Net.Mail;

/// <summary>
/// Mail 的摘要说明
/// </summary>
public class Mail
{
/// <summary>
/// 注册时发送用户帐号跟密码
/// </summary>
/// <param name="receiver">用户注册邮箱</param>
/// <param name="username">用户名</param>
/// <param name="password">用户密码明文</param>
public bool Register(string receiver, string username, string password)
{
System.Net.Mail.SmtpClient client;
client = new System.Net.Mail.SmtpClient("mail.google.com");
client.Timeout = 60000;
client.UseDefaultCredentials = false;
client.Credentials = new System.Net.NetworkCredential("girlschina@google.com", "***");
client.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage();
message.SubjectEncoding = System.Text.Encoding.UTF8;
message.BodyEncoding = System.Text.Encoding.UTF8;
message.From = new System.Net.Mail.MailAddress("girlschina.hr@google.com", "123456", System.Text.Encoding.UTF8);
message.To.Add(new System.Net.Mail.MailAddress(receiver, username, System.Text.Encoding.UTF8));
message.IsBodyHtml = false;
message.Subject = "用户注册信息(Girls China 女性服务平台)";
message.Body = username + ":您好!\r\n 您在Girls China 女性服务平台注册的用户名是:" + username + ";密码是:" + password + "。\r\n 点此进入Girls China 女性服务平台:http://www.girlschina.com";
try
{
client.Send(message);
return true;
}
catch
{
return false;
}
}
/// <summary>
/// 用户忘记密码时发送用户密码
/// </summary>
/// <param name="username">用户名</param>
/// <param name="receiver">用户注册邮箱</param>
/// <param name="password">用户密码明文</param>
/// <returns></returns>
public bool GetPassWord(string username, string receiver, string validate)
{
System.Net.Mail.SmtpClient client;
client = new System.Net.Mail.SmtpClient("mail.google.com");
client.Timeout = 60000;
client.UseDefaultCredentials = false;
client.Credentials = new System.Net.NetworkCredential("girlschina@google.com", "***");
client.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage();
message.BodyEncoding = System.Text.Encoding.Default;
message.SubjectEncoding = System.Text.Encoding.Default;
message.IsBodyHtml = true;
message.From = new System.Net.Mail.MailAddress("girlschina@google.co