C#基础:通过QQ邮件发送验证码到指定邮箱

一、控制台程序

cs 复制代码
using System;
using System.Net;
using System.Net.Mail;

public class EmailSender
{
    public void SendEmail(string toAddress, string subject, string body)
    {
        // 设置发件人邮箱地址以及授权码
        string fromAddress = "xxxxx@qq.com";
        string password = "wxxxxxdgtdzhecjb";

        // 创建邮件消息对象
        MailMessage mail = new MailMessage();
        mail.From = new MailAddress(fromAddress);
        mail.To.Add(new MailAddress(toAddress));
        mail.Subject = subject;
        mail.Body = body;

        // 创建SMTP客户端对象,设置SMTP服务器和端口号(这里不用改)
        SmtpClient smtpClient = new SmtpClient("smtp.qq.com", 587);
        smtpClient.UseDefaultCredentials = false;
        smtpClient.Credentials = new NetworkCredential(fromAddress, password);
        smtpClient.EnableSsl = true;

        try
        {
            // 发送邮件
            smtpClient.Send(mail);
            Console.WriteLine("邮件发送成功!");
        }
        catch (Exception ex)
        {
            Console.WriteLine("发送邮件时出现错误: " + ex.Message);
        }
    }
}
public class Test
{
    static int Main(string[] args)
    {
        EmailSender emailSender = new EmailSender();
        emailSender.SendEmail("yyyyyyy@qq.com", "测试邮件", "这是一封测试邮件");//发送地址、邮箱标题、邮箱内容
        return 0;
    }
}

二、注册授权码

申请授权码:

第一步,登录QQ邮箱,点击设置-账号-找到下图位置点击开启服务

第二步,按照步骤指引,发送短信

第三步,记住授权码(后续无法查看授权码,但是可以生成多个授权码,不该邮箱密码不会过期)

相关推荐
binqian31 分钟前
【异步】js中异步的实现方式 async await /Promise / Generator
开发语言·前端·javascript
程序媛Dev1 小时前
还在 SSH 连服务器敲 SQL?我用 Sealos 把数据库管理后台搬进了浏览器!
开源·github
林开落L1 小时前
库制作与原理(下)
linux·开发语言·centos·库制作与原理
fengfuyao9851 小时前
基于MATLAB的GUI实现人脸检测、眼睛检测以及LBP直方图显示
开发语言·计算机视觉·matlab
★YUI★1 小时前
学习游戏制作记录(玩家掉落系统,删除物品功能和独特物品)8.17
java·学习·游戏·unity·c#
CHANG_THE_WORLD2 小时前
# C++ 中的 `string_view` 和 `span`:现代安全视图指南
开发语言·c++
Franklin2 小时前
Python界面设计【QT-creator基础编程 - 01】如何让不同分辨率图像自动匹配graphicsView的窗口大小
开发语言·python·qt
谷宇.2 小时前
【Unity3D实例-功能-拔枪】角色拔枪(二)分割上身和下身
游戏·unity·c#·游戏程序·unity3d·游戏开发·游戏编程
郝学胜-神的一滴2 小时前
深入理解QFlags:Qt中的位标志管理工具
开发语言·c++·qt·程序人生
LZQqqqqo2 小时前
C# 中 ArrayList动态数组、List<T>列表与 Dictionary<T Key, T Value>字典的深度对比
windows·c#·list