• .Net 通过邮箱发送邮件(实现密码找回功能)


    2017/8/8 今天是我实习期入职的第23天,自己需要独立完成一个项目的开发,今天是第八天做来做去反反复复的,登陆,注册基本都弄好了,仔细想了想还是要有找回密码的功能!所以来记录下找回密码的功能实现!

    我来讲下我实现密码找回功能的思路!

    1.用户输入自己的邮箱,后台通过数据库判断是否有该用户的邮箱;

    2.如果有该用户邮箱便随机一串字符密码,发送到该用户的邮箱;

    3.用户将收到的字符密码输入文本框,如果发送的和接收到的一致,用户正确可以找回密码;

    密码找回功能首先要理解POP3和SMTP服务器是什么?

    简单来说,POP3为接收邮件的,SMTP为发送邮件的

    System.Net.Mail

    使用ASP.NET发送邮件要引用System.Net.Mail 命名空间(包含三个类);

    1:MailMessage 邮件内容

    2:Attachment 邮件附件

    3.SmtpClient 用于指定邮件传送的SMTP主机实现邮件发送功能

    
    
          /// <summary>
            /// 发送邮件
            /// </summary>
            /// <param name="Toemail">发送对象</param>
            /// <param name="EmailMain">邮件主题</param>
            /// <param name="EmailText">邮件内容</param>
            /// <returns></returns>
            public static bool SendEmail(string Toemail, string EmailMain, string EmailText)
            {
                // 设置发送方的邮件信息,例如使用网易邮箱
                string smtpServer = "smtp.163.com"; //SMTP服务器
                string mailFrom = "xxx@163.com"; //登陆用户名
                string userPassword = "xxxxx";//登陆密码(授权码并非邮箱登录密码)
                string smptport = "25"; //端口号(通常网易和qq为25)    
                // 邮件服务设置
                SmtpClient smtpClient = new SmtpClient();
                smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;//指定电子邮件发送方式
                smtpClient.Host = smtpServer; //指定SMTP服务器
                smtpClient.Credentials = new System.Net.NetworkCredential(mailFrom, userPassword);//用户名和密码
                // 发送邮件设置        
                MailMessage mailMessage = new MailMessage(mailFrom, Toemail); // 发送人和收件人
                mailMessage.Subject = EmailMain;//主题
                mailMessage.Body = EmailText;//内容
                mailMessage.BodyEncoding = Encoding.UTF8;//正文编码
                mailMessage.IsBodyHtml = true;//设置为HTML格式
                mailMessage.Priority = MailPriority.Low;//优先级
                try
                {
                    smtpClient.Send(mailMessage); // 发送邮件
                    return true;
                }
                catch (SmtpException ex)
                {
                    return false;
                }
    
            }
    
    
    

      

    这个也是看另一位大佬写下的但是我找不到那个网址了@大佬  谢谢了! --Good Good study;Day Day Up!

    
    
  • 相关阅读:
    利用JQuery一步步打造无缝滚动新闻
    asp.net操作oracle存储过程的小问题
    C# Tostring() 格式大全 [转]
    Oracle存储过程总结【转】
    JQuery中text()、html()和val()的区别
    JQuery的JSON数据格式
    HDU 1065 I Think I Need a Houseboat
    POJ1251 Jungle Roads
    HDU3177 Crixalis's Equipment
    HDU1042 N!
  • 原文地址:https://www.cnblogs.com/wyq-study/p/7307297.html
Copyright © 2020-2023  润新知