平时,我在忘记密码的时候。输入邮箱等相关信息,会把账号和密码发送到你的邮箱!这是怎么实现的?
 我现在能够得到账号和密码。就是不知道怎么发送去邮箱。

解决方案 »

  1.   


           #region##修改密码
            /// <summary>
            /// 修改密码
            /// </summary>
            /// <param name="email"></param>
            /// <param name="pass"></param>
            /// <returns></returns>
            public  int Sends(string email, string pass)
            {
                int i = 0;
                string formto = "[email protected]";
                string to = email;
                string content = "密码修改通知:";
                string body = "您的密码已经修改为:";
                body += pass;
                string name = "发件箱";
                string upass = "发件箱密码";
                string smtp = "stmp服务器地址";
                SmtpClient _smtpClient = new SmtpClient();
                _smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;//指定电子邮件发送方式
                _smtpClient.Host = smtp; //指定SMTP服务器
                _smtpClient.Credentials = new System.Net.NetworkCredential(name, upass);//用户名和密码
                MailMessage _mailMessage = new MailMessage();
                //发件人,发件人名 
                _mailMessage.From = new MailAddress(formto, "邮件名");
                //收件人 
                _mailMessage.To.Add(to);
                _mailMessage.SubjectEncoding = System.Text.Encoding.GetEncoding("gb2312");
                _mailMessage.Subject = content;//主题            _mailMessage.Body = body;//内容
                _mailMessage.BodyEncoding = System.Text.Encoding.GetEncoding("gb2312");//正文编码
                _mailMessage.IsBodyHtml = true;//设置为HTML格式
                _mailMessage.Priority = MailPriority.High;//优先级   
                try
                {
                    _smtpClient.Send(_mailMessage);
                    i = 1;
                }
                catch (Exception)
                {
                    i = 0;
                }
                return i;
            }
            #endregion
      

  2.   

    找回密码时。。可以生成一个几位的随机数NUM
      

  3.   

    Encoding encoding = Encoding.GetEncoding("utf-8");
                        MailAddress from = new MailAddress("你的邮箱", "主题", encoding);
                        MailAddress to = null;
                        SmtpClient smtp = new SmtpClient("邮件服务器如smtp.163.com");
                        smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
                        smtp.UseDefaultCredentials = true;
                        smtp.Credentials = new NetworkCredential("邮箱用户", "密码");
                        MailMessage mail = null;
                            to = new MailAddress("接收人邮箱");
                            mail = new MailMessage(from, to);
                            mail.IsBodyHtml = true;
                            mail.Subject = this.txtSubject.Text.Trim();//主题
                            mail.Body = mailContent.Trim();//邮件内容
                            mail.SubjectEncoding = encoding;
                            mail.BodyEncoding = encoding;
                            if (ckReturn.Checked)
                            {
                                mail.Headers.Add("ReturnReceipt", "1");
                            }
                            smtp.Send(mail);
                            this.lblInfo.Text = "发送成功,请查收!";
      

  4.   

    发送到哪个邮箱?
    不还是发送邮件的问题么
     public void SendSMTPEMail(string strSmtpServer, string strFrom, string strFromPass, string strto, string strSubject, string strBody)
            {
                SmtpClient client = new SmtpClient(strSmtpServer);
                client.UseDefaultCredentials = false;
                client.Credentials = new System.Net.NetworkCredential(strFrom, strFromPass);
                client.DeliveryMethod = SmtpDeliveryMethod.Network;
                MailMessage message = new MailMessage(strFrom, strto, strSubject, strBody);
                message.BodyEncoding = System.Text.Encoding.UTF8;
                message.IsBodyHtml = true;
                client.Send(message);
            }
    调用
    try
                {
                    SendSMTPEMail("smtp.qq.com", "[email protected]", "lishuai1030", "[email protected]", TextBox1.Text, "用asp.net发送邮件,用qq的smtp.qq.com服务器,测试成功");            }
                catch (Exception er)
                {
                    Response.Write(er.Message);
                }
            }
            //第一个参数是邮箱服务器
            //第二个参数发件人的帐号
            //第三个参数发件人密码
            //第四个参数收件人帐号
            //第五个参数主题
            //第六个参数内容.引用命名空间using System.Net.Mail;
    利用QQ邮箱服务器发送  进入QQ邮箱 开通smtp服务
    在邮箱的设置-账户下边选中开启IMAP/SMTP服务
    这样就可以利用你的QQ邮箱发送邮件了
      

  5.   

        做的一个例子,你看是不是要这样的啊     
        忘记密码:
            protected void btnSend_Click(object sender, EventArgs e)
            {
                if (RegularMatch.IsValidpswLength(txtName.Text.Trim()) == false)
                {
                    response.write("请输入正确的用户名");
                    return;
                }            if (RegularMatch.IsValidEmail(txtEamil.Text.Trim())==false)
                {
                   response.write("请输入正确的注册邮箱地址");
                    return;
                }
                List<string> list = new List<string>();
                CustomerForgotPassword bll = new CustomerForgotPassword();
                CustomerForgotPassword model = new CustomerForgotPassword();
                model.Email = txtEamil.Text.Trim();
                model.CustomerCode = txtName.Text;
                DateTime dt = DateTime.Now;
                model.FindDate = dt;
                model.MaturityDate = dt.AddDays(1);
                model.Status = 0;
                list.Add(bll.strAdd(model));   // 添加数据的方法
                string url = Security.EncryptQueryString(txtName.Text.Trim());   //加密路径
                if (DbHelperSQL.ExecuteSqlTran(list) > 0)
                {
                    StringBuilder strHtml = new StringBuilder();
                    strHtml.Append("亲爱的" + txtName.Text.Trim());
                    strHtml.Append(" 您好:<br/>");
                    string URl = "http://你要连接的网址/User/Resetpassword.aspx?N=" + Security.EncryptQueryString(txtName.Text.Trim()) + "&E=" + Security.EncryptQueryString(txtEamil.Text.Trim()) + "&d=" + Security.EncryptQueryString(dt.ToString().Trim());
                    strHtml.Append(URl+"<br/>");
                    NetMail.Send(txtEamil.Text.Trim(), "[email protected]", "网站名称", strHtml.ToString(), "poocanli", "poocan", "smtp.163.com");
                    response.write("../index.aspx", "修改密码已发送到你的邮箱,请查收");
                }
                else
                {
                    Jscript.JsAlert("操作失败!", this.Page);
                }上面的send方法如下:
    命名空间:
    using System.Net.Mail;
    using System.Net;
     /// <summary>    
            /// 发送邮件    
            /// </summary>    
            /// <param name="to">收件人邮件地址</param>    
            /// <param name="from">发件人邮件地址</param>    
            /// <param name="subject">邮件主题</param>    
            /// <param name="body">邮件内容</param>    
            /// <param name="username">登录smtp主机时用到的用户名,注意是邮件地址'@'以前的部分</param>    
            /// <param name="password">登录smtp主机时用到的用户密码</param>    
            /// <param name="smtpHost">发送邮件用到的smtp主机</param>    
            public static void Send(string to, string from, string subject, string body, string userName, string password, string smtpHost)
            {
                try
                {                MailMessage message = new MailMessage(from, to);
                    message.Subject = subject;//设置邮件主题    
                    message.IsBodyHtml = true;//设置邮件正文为html格式    
                    message.Body = body;//设置邮件内容    
                    SmtpClient client = new SmtpClient(smtpHost);
                    //设置发送邮件身份验证方式    
                    //注意如果发件人地址是[email protected],则用户名是abc而不是[email protected]    
                    client.Credentials = new NetworkCredential(userName, password);
                    client.Send(message);
                    
                }
                catch (Exception ex)            {
     
                }
            }
      

  6.   

    直接复制粘贴,修改相关参数看效果(邮箱必须开启IMAP/SMTP服务)<%@ Page Language="C#" %>
    <%@ Import Namespace="System.Data" %>
    <%@ Import Namespace="System.Net.Mail" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><script runat="server">    /// <summary>
        /// 使用指定用户名和密码发送邮件
        /// </summary>
        /// <param name="receiver">接收者保邮箱名(例[email protected])</param>
        /// <param name="username">发送邮箱名(例:[email protected])</param>
        /// <param name="password">发送者密码</param>
        public void SendMail(string receiver, string username, string password)
        {
            System.Net.Mail.SmtpClient client;
            client = new System.Net.Mail.SmtpClient("smtp.qq.com");//qq邮件服务器:smtp.qq.com,163邮件服务器:smtp.163.com
            client.Timeout = 60000;
            client.UseDefaultCredentials = false;
            client.Credentials = new System.Net.NetworkCredential(username,password);
            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(username, "张三", System.Text.Encoding.UTF8);
            message.To.Add(new System.Net.Mail.MailAddress(receiver, "李四", System.Text.Encoding.UTF8));
            message.IsBodyHtml = true;
            message.Subject = "测试一下!";
            message.Body = "测试一下!";
            client.Send(message);
        }    protected void Button1_Click(object sender, EventArgs e)
        {
            SendMail("改成接收者的邮箱", "发送者邮箱", "发送者密码");
        }
    </script><html xmlns="http://www.w3.org/1999/xhtml">
    <head id="Head1" runat="server">
        <title>发送邮件</title>
    </head>
    <body>
        <form runat="server" id="form1">
            <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="发送邮件" />
        </form>
    </body>
    </html>
      

  7.   

    用Jmail组件试试,直接是一个组件只要适当的写写代码就行了的
      

  8.   


    测试报错
    命令顺序不正确。 服务器响应为: Error: need EHLO and AUTH first !
      

  9.   


    Sends("[email protected]", "123456");
    发送没报任何错误,但是,我邮箱里面没有接收到!
      

  10.   

    你的stmp服务器是自己企业邮箱的还是163什么的?
      

  11.   

    使用Interop.jmail.dll组件
    jmail.Message Jmail = new jmail.Message();  
    string strPath = System.Web.HttpContext.Current.Server.MapPath("~/a.html");  
    StreamReader sr = new StreamReader(strPath, System.Text.Encoding.Default);  
    StringBuilder body = new StringBuilder();  
    body.Append(sr.ReadToEnd());  
    sr.Close();  
    string FromEmail = "[email protected]";  
    string ToEmail = "";  
    Jmail.Silent = true;  
    Jmail.Logging = true;  
    Jmail.Charset = "GB2312";  
    Jmail.ContentType = "text/html";  
    Jmail.AddRecipient(ToEmail, "", "");  
    Jmail.From = FromEmail;  
    Jmail.MailServerUserName = "";  
    Jmail.MailServerPassWord = "";  
    Jmail.Subject = Subject;  
    Jmail.ContentType="text/html";  
    Jmail.Body = body.ToString().Trim();  
    Jmail.Send("smtp.a.com", false);  
    Jmail.Close();  
    private bool sendMail(string to, string title, string content)
            {
                SmtpClient _smtpClient = new SmtpClient();
                _smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;//指定电子邮件发送方式
                _smtpClient.Host = fromSmtp; ;//指定SMTP服务器
                
                _smtpClient.Credentials = new System.Net.NetworkCredential(fromUser, fromPwd);//用户名和密码            MailMessage _mailMessage = new MailMessage(from, to);
                _mailMessage.Subject = title;//主题
                _mailMessage.Body = content;//内容
                _mailMessage.BodyEncoding = System.Text.Encoding.UTF8;//正文编码
                _mailMessage.IsBodyHtml = true;//设置为HTML格式
                _mailMessage.Priority = MailPriority.High;//优先级
                if (!string.IsNullOrEmpty(mailCC))
                {
                    _mailMessage.CC.Add(mailCC);
                }
                try
                {
                    _smtpClient.Send(_mailMessage);
                    
                    return true;
                }
                catch(Exception ex)
                {
                    WriteLog(to + "发送失败,错误信息:" + ex.Message);
                    return false;
                }
            }
      

  12.   

    using System.Web.Mail;
    public void SendEmail(to,from,content)
    {
       MailMessage msgMail = new MailMessage();
       msgMail.To = to;
       msgMail.From = from;
       msgMail.Subject = "找回密码";
       msgMail.BodyFormat = MailFormat.Text;
       msgMail.Body = content;
       try
       {
          SmtpMail.Send(msgMail);
      Response.Write("邮件发送成功.");
       }
       catch(Exception)
       {
           Response.Write("发送邮件失败.");
       }
    }
      

  13.   


    string formto = "[email protected]";这个是不变吗?