.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!