首页 > 其他分享 >.Net6 调用qq邮箱发送邮件

.Net6 调用qq邮箱发送邮件

时间:2023-06-06 18:13:15浏览次数:37  
标签:qq string smtpClient 发送 邮箱 Net6 public 邮件

1.appsettings.json 写入需要用到的基本信息

 

2.发送消息核心方法

public class SendHelperl
    {
        private readonly IConfiguration _configuration;

        public SendHelperl(IConfiguration configuration)
        {
            _configuration = configuration;
        }

        /// <summary>
        /// 发送邮件方法
        /// </summary>
        /// <param name="mailTo">接收人邮件</param>
        /// <param name="mailTitle">发送邮件标题</param>
        /// <param name="mailContent">发送邮件内容</param>
        /// <returns></returns>
        public bool SendEmail(string mailTo, string mailTitle, string mailContent)
        {
            MailSetting mailSetting = new MailSetting();
            _configuration.Bind("MailSetting", mailSetting);

            //设置发送方邮件信息,例如:qq邮箱
            string stmpServer = mailSetting.StmpServer;//smtp服务器地址
            string mailAccount = mailSetting.MailAccount;//邮箱账号
            string pwd = mailSetting.Code;//邮箱密码(qq邮箱此处使用授权码,其他邮箱见邮箱规定使用的是邮箱密码还是授权码)

            //邮件服务设置
            SmtpClient smtpClient = new SmtpClient();
            smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;//指定电子邮件发送方式
            smtpClient.Host = stmpServer;//指定发送方SMTP服务器
            smtpClient.EnableSsl = true;//使用安全加密连接
            smtpClient.UseDefaultCredentials = false;//不和请求一起发送
            smtpClient.Credentials = new NetworkCredential(mailAccount, pwd);//设置发送账号密码

            MailMessage mailMessage = new MailMessage(mailAccount, mailTo);//实例化邮件信息实体并设置发送方和接收方
            mailMessage.Subject = mailTitle;//设置发送邮件得标题
            mailMessage.Body = mailContent;//设置发送邮件内容
            mailMessage.BodyEncoding = Encoding.UTF8;//设置发送邮件得编码
            mailMessage.IsBodyHtml = false;//设置标题是否为HTML格式
            mailMessage.Priority = MailPriority.Normal;//设置邮件发送优先级

            try
            {
                smtpClient.Send(mailMessage);//发送邮件
                return true;
            }
            catch (SmtpException ex)
            {
                throw ex;
            }
        }
    }

    public class MailSetting
    {
        public string Code { get; set; }
        public string? PassWord { get; set; }
        public string MailAccount { get; set; }
        public string StmpServer { get; set; }
    }

3.常见问题

Bad sequence of commands. The server response was: Error: need EHLO and AUTH first !

首先确定你的邮箱是否有授权,appsettings.json里面的授权码就是从这里来的

登录你的QQ邮箱,进入设置里面找到账户,开启红线处的服务,按照操作一步步往下,最后会生成一个授权码,将授权码复制到 appsettings.json的 code中

 

 

设置完成之后若还是报一样的错误,查看代码   smtpClient.UseDefaultCredentials  需要设置成false

 

标签:qq,string,smtpClient,发送,邮箱,Net6,public,邮件
From: https://www.cnblogs.com/SmallChen/p/17461314.html

相关文章

  • 【汽车处理器】TMS5701115CPGEQQ1 Hercules™ TMS570 ARM® Cortex®-R
    TMS5701115CPGEQQ116/32位RISC闪存微控制器(MCU)是一个用于安全系统的高性能汽车级微控制器系列。其采用的安全架构包括锁步中的双CPU、CPU和内存内置自检(BIST)逻辑、闪存和数据SRAM上的ECC、外设存储器上的奇偶校验以及外设I/O上的回路功能。TMS570器件集成了可提供高效1.66......
  • QQ空间自动播放youku视频
    在百度空间或QQ空间中文文章中的播放器上加上一段视频,每次都要手动点击才能播放,很是不爽,http://tv.mofile.com/网站上的视频提供了自动播放代码,但是其它视频网站都没有提供怎么办呢?其实很简单,我们只要加上自动播放的参数:isAutoPlay=true       参数使用&连接,末尾使用#.mp3......
  • springboot 发送邮箱验证码
    0步骤总览开启邮箱的POP3/SMTP服务。新建springboot项目。导入依赖。配置配置文件。编写controller测试接口。postman中测试1开启邮箱的POP3/SMTP服务这里我用的网易邮箱,其它邮箱类似步骤,不清楚的可以百度。总之就是要打开pop3/smtp服务,如果按照我的方法......
  • QQ或者微薄登录
    importcom.qq.connect.QQConnectException;importcom.qq.connect.api.OpenID;importcom.qq.connect.api.qzone.UserInfo;importcom.qq.connect.javabeans.AccessToken;importcom.qq.connect.oauth.Oauth;importorg.springframework.beans.factory.annotation.Autow......
  • .Net6添加Area域
      添加完成之后你的项目将会多出一个Area文件,同时vs会自动打开ScaffoldingReadMe.txt文件,把红框框内的内容复制到启动文件(ProGram.cs)中最后需要在你用到的视图或者控制器上加上Area标注 ......
  • git修改提交历史的用户名和邮箱
    1.clone仓库拉取最新代码gitclone2.查看日志--查看没修改之前的作者和邮箱gitlog3.命令行执行修改下面的中文即可,注意之前的邮箱不能写错,大小写都不能错gitfilter-branch-f--env-filter'OLD_EMAIL="原来的邮箱"CORRECT_NAME="现在的名字"CORRECT_EMAIL="现在......
  • 基于Selenium库模拟用户行为的QQ空间爬虫
    QQ空间爬虫代码链接:https://github.com/hhr346/QQ_zone_crawl该程序的主要实现过程是进入某位好友的空间中,并自动爬取说说的文本内容并存储到txt文件中。方法是使用Chrome浏览器的自动执行功能,来实现翻页,并对html的源代码进行文本提取,通过正则表达式来实现某一块内容的提取。将......
  • 腾讯用户画像——如何为QQ画像和代理IP画像
    腾讯用户画像画像,实质上就是给账号、设备等打标签。用户画像=打标签我们这里主要从安全的角度动身来打标签,比如IP画像,我们会标注IP是不是代理IP,这些对我们做战略是有辅佐的。以QQ的画像为例,比如,一个QQ只登录IM、不登录其他腾讯的业务、不聊天、频繁的加好友、被好友删除、QQ空间要......
  • Skywalking+Elasticsearch安装及应用(邮箱告警)
    1、Skywalking概述Skywalking是一个可观测性分析平台和应用性能管理系统,它也是基于OpenTracing规范、开源的AMP系统。Skywalking提供分布式跟踪、服务网格遥测分析、度量聚合和可视化一体化解决方案。SkyWalking特点:1)多语言自动探针2)为多种......
  • [TEST]腾讯QQ新架构 v9.8.3.13183 绿色便携版
    更新流水:2023.05.30:首个自改官方 9.8.3.13183最新正式版本修改内容:1、基于官方最新版本解包便携化制作;2、默认用户数据储存位于Data目录下;3、默认禁止在线检查更新下载新版安装包;4、支持多开N++账号登陆,支持防撤回;5、不往系统写永久注册表和临时配置文件;6、默认删除便携目录......