zoukankan      html  css  js  c++  java
  • 项目的登录注册如何用邮箱发送验证码

    这里用QQ邮箱做样例

    点击设置,点击账户,往下滑
    在这里插入图片描述

    把这里全都打开,然后一会下面代码中的授权码,就是这个页面中的生成授权码
    在这里插入图片描述

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Net;
    using System.Net.Mail;
    using System.Net.Mime;
    using System.Web;
    
    namespace youxiangyanzhneg
    {
        public class SendQQEmail
        {
            //实例化一个发送邮件类。
            private static MailMessage mailMessage = new MailMessage();
            public static bool QQ_email()
            {
                //发件人邮箱地址,方法重载不同,可以根据需求自行选择。
                mailMessage.From = new MailAddress("发件人邮箱", "发件人的名称");
                //收件人邮箱地址。
                mailMessage.To.Add(new MailAddress("收件人邮箱"));
                //邮件标题。
                mailMessage.Subject = "邮箱验证码";
                //邮件内容。
                mailMessage.Body = "验证码为:123456";
                //添加到附件中   这里的附件,每个附件之间使用  ,  分开
                AddAnnex($"D:/Android文件/1e9d9bbf-595b-49ed-bbbf-1e2a1e48c79e.png");
    
                //实例化一个SmtpClient类。
                SmtpClient client = new SmtpClient();
                //在这里我使用的是qq邮箱,所以是smtp.qq.com,如果你使用的是126邮箱,那么就是smtp.126.com。
                client.Host = "smtp.qq.com";
                //使用安全加密连接。
                client.EnableSsl = true;
                //不和请求一块发送。
                client.UseDefaultCredentials = false;
                //验证发件人身份(发件人的邮箱,邮箱里的生成授权码);
                client.Credentials = new NetworkCredential("发件人的邮箱", "邮箱的授权码");
                //发送
                client.Send(mailMessage);
                return true;
            }
    
    
            private static void AddAnnex(string Path)
            {
                string[] path = Path.Split(',');
                Attachment data;
                ContentDisposition disposition;
                for (int i = 0; i < path.Length; i++)
                {
                    data = new Attachment(path[i], MediaTypeNames.Application.Octet);//实例化附件 
                    disposition = data.ContentDisposition;
                    disposition.CreationDate = System.IO.File.GetCreationTime(path[i]);//获取附件的创建日期 
                    disposition.ModificationDate = System.IO.File.GetLastWriteTime(path[i]);//获取附件的修改日期 
                    disposition.ReadDate = System.IO.File.GetLastAccessTime(path[i]);//获取附件的读取日期 
                    mailMessage.Attachments.Add(data);//添加到附件中 
                }
            }
    
        }  
    }
    

    然后使用代码直接调用

      SendQQEmail.QQ_email();
    

    运行的效果图
    在这里插入图片描述

  • 相关阅读:
    sqlalchemy的orm的高级用法,分组,排序,聚合等方法
    flask的SQLAlchemy,连接数据库的增删改查操作
    wtforms的form表单的高级用法
    初始wtforms表单,以及简单使用
    命令启动flask以及自定义命令
    MySQL5.5安装教程
    Java设计模式-策略模式实际应用场景
    Java设计模式-策略模式详解
    Oracle数据库之FORALL与BULK COLLECT语句
    代理模式详解(静态代理和动态代理的区别以及联系)
  • 原文地址:https://www.cnblogs.com/a1439775520/p/13046988.html
Copyright © 2011-2022 走看看