MarcusV(南墙大佬的搬运工)

南墙大佬的CSDN博客地址

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

项目的登录注册如何用邮箱发送验证码

这里用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();

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

posted on   MarcusV  阅读(289)  评论(0编辑  收藏  举报

编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决
点击右上角即可分享
微信分享提示