注册用户,如果用户忘记密码,如何通过email取回密码,有相关代码吗,谢先
同上 问题点数:0、回复次数:2Top
1 楼KentYu(快意刀)回复于 2004-12-02 13:05:22 得分 0
CDO你可以在系统目录里找到。只要加入引用就可以了。
using System;
using System.Web.Mail;
using CDO;
namespace Greystar.Base.Office
{
/// <summary>
/// Email 的摘要说明。
/// </summary>
public class Email
{
public Email()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
#region SendEmailValidate (string Emailfrom,string Emailto,string subject,string mailbody)
/// <summary>
/// 要求有帐号
/// </summary>
/// <param name="Emailfrom"></param>
/// <param name="Emailto"></param>
/// <param name="subject"></param>
/// <param name="mailbody"></param>
public void SendEmailValidate (string Emailfrom,string Emailto,string subject,string mailbody)
{
string ErrString="";
try
{
Configuration conf=new Configuration();
//以下部分设置参数(服务器,端号,用户名,密码,发送邮件帐号,回复邮箱帐号)
conf.Fields[CdoConfiguration.cdoSendUsingMethod].Value=CdoSendUsing.cdoSendUsingPort;
conf.Fields[CdoConfiguration.cdoSMTPServer].Value="server-mail";
conf.Fields[CdoConfiguration.cdoSMTPServerPort].Value=25;
conf.Fields[CdoConfiguration.cdoSMTPAccountName].Value="greystar";
conf.Fields[CdoConfiguration.cdoSendUserReplyEmailAddress].Value="\"greystar\" <greystar@oceansoft.com.cn>";
conf.Fields[CdoConfiguration.cdoSendEmailAddress].Value="\"greystar\" <greystar@oceansoft.com.cn>";
conf.Fields[CdoConfiguration.cdoSMTPAuthenticate].Value=CdoProtocolsAuthentication.cdoBasic;
conf.Fields[CdoConfiguration.cdoSendUserName].Value="greystar";
conf.Fields[CdoConfiguration.cdoSendPassword].Value="liaoliao";
conf.Fields.Update();
MessageClass msg=new MessageClass();
msg.Configuration=conf;
msg.To=Emailto;
msg.Subject= subject;
msg.HTMLBody=mailbody;
msg.From=Emailfrom;
msg.Send();
ErrString="确认成功";
}
catch(System.Runtime.InteropServices.COMException Ee)
{
ErrString=Ee.Message;
throw new Exception(ErrString);
}
}
#endregion
#region SendMail(string MailFrom,string MailTo,string MailSubject,string MailBody,string MailServer )
/// <summary>
/// 匿名访问
/// </summary>
/// <param name="MailFrom"></param>
/// <param name="MailTo"></param>
/// <param name="MailSubject"></param>
/// <param name="MailBody"></param>
/// <param name="MailServer"></param>
public void SendMail(string MailFrom,string MailTo,string MailSubject,string MailBody,string MailServer )
{
MailMessage Msg = new MailMessage();
Msg.To = MailTo;
Msg.Subject = MailSubject;
Msg.Body = MailBody;
Msg.From =MailFrom;
SmtpMail.SmtpServer=MailServer;
SmtpMail.Send(Msg);
return;
}
#endregion
}
}
Top
2 楼jackief(小鱼儿)回复于 2004-12-02 13:31:10 得分 0
告诉你方法,首先让注册用户填入自己的用户名,然后到数据库中找看时候又这个用户,如果有就在让输入什么身份证、自设答案之类的,如果全部通过将他的密码用邮件发给用户。首先确保填写邮箱。
发邮件用MailMessage 类
private void btn_OK_Click(object sender, System.EventArgs e)
{
string strSql;
DataTable mailTable=new DataTable();
DataTable dt=new DataTable();
MailMessage mail=new MailMessage();
strSql="update t_message_info set restore_name='"+txt_RestoreName.Text.Trim()+"',restore_sex='"+rdo_Sex.SelectedValue+"',restore_phone='"+txt_Phone.Text.Trim()+"',restore_email='"+txt_Email.Text.Trim()+"',restore_icq='"+txt_ICQ.Text.Trim()+"',restore_title='"+txt_RestoreTitle.Text.Trim()+"',restore_content='"+content.Text.Trim()+"',[restore1]=1,restore_time='"+DateTime.Now.Date+"',restoretype=1 where id="+Request.QueryString["id"]+"";
try
{
conn.RunSql(strSql);
mailTable=conn.GetTable("select company_name,mail,mail_user_name,mail_user_password,mail_smtp from t_info_setup");
dt=conn.GetTable("select email,email_show from t_message_info where id="+Request.QueryString["id"]+"");
if(dt.Rows[0]["email_show"].ToString()=="1")
{
mail.From=mailTable.Rows[0]["mail"].ToString();
mail.To=dt.Rows[0]["email"].ToString();
switch(Config.LAN_STRING)
{
case "gb2312":
mail.Subject="您在"+mailTable.Rows[0]["company_name"].ToString()+"的留言有人回复";
break;
case "iso-8859-1":
mail.Subject="The messenge you left at"+mailTable.Rows[0]["company_name"].ToString()+"has been replied";
break;
case "big5":
mail.Subject="您在"+mailTable.Rows[0]["company_name"].ToString()+"的留言有人回復";
break;
default:
mail.Subject="您在"+mailTable.Rows[0]["company_name"].ToString()+"的留言有人回复";
break;
}
mail.Body=content.Text;
mail.BodyFormat=MailFormat.Html;
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1");
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername",mailTable.Rows[0]["mail_user_name"].ToString());
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword",mailTable.Rows[0]["mail_user_password"].ToString());
SmtpMail.SmtpServer=mailTable.Rows[0]["mail_smtp"].ToString();
SmtpMail.Send(mail);
}
}
catch
{
conn.Alert("保存失败!",Page);
}
conn.Alert("保存成功!",Page);
conn.Close();
给你一段我写的程序,这些都是从数据库中读出的。可以参考参考Top




