前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【.NET】几行代码实现自动发送邮件功能

【.NET】几行代码实现自动发送邮件功能

作者头像
Wesky
发布于 2024-08-13 10:51:47
发布于 2024-08-13 10:51:47
20000
代码可运行
举报
文章被收录于专栏:Dotnet DancerDotnet Dancer
运行总次数:0
代码可运行

前言:邮件自动发送功能应该场景比较多,例如遇到程序bug、或者运行报告等,补获到就发送邮件提醒。或者其他用途。

以下我用个人QQ邮箱为例,编写一个自动发送邮件的小栗子。Q邮箱需要先开通SMTP服务:首先,你需要登录到QQ邮箱,然后进入“设置” -> “账户” -> “POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务”,并开启SMTP服务。

开始写代码:

1、创建一个简单的wewbapi项目,并创建一个控制器做测试使用

2、api核心代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public void SendEmailWithQQ(string toEmail, string subject, string body)
{
    var fromAddress = new MailAddress("yourQQEmail@qq.com", "Your Name");
    var toAddress = new MailAddress(toEmail);
    string fromPassword = "yourSMTPAuthorizationCode"; // 使用你从QQ邮箱获取的SMTP授权码

    var smtp = new SmtpClient
    {
        Host = "smtp.qq.com",
        Port = 587, 
        EnableSsl = true, 
        DeliveryMethod = SmtpDeliveryMethod.Network,
        UseDefaultCredentials = false,
        Credentials = new NetworkCredential(fromAddress.Address, fromPassword)
    };

    using (var message = new MailMessage(fromAddress, toAddress)
    {
        Subject = subject,
        Body = body
    })
    {
        smtp.Send(message);
    }
}

subject:这是电子邮件的主题或标题。

body:这是电子邮件的主要内容。

3、我做一个抛出异常的行为,然后捕获异常,并推送给我的企业钉钉邮箱

4、运行程序进行测试

接口执行完毕,看下钉钉收到的邮件内容,OK符合预期

现在正常的也测试一个,不进异常,所以标题就叫123:

企业邮箱设置了拦截,尴尬,收不到了。但是QQ邮箱应该有记录,做了历史保留,看一眼QQ邮箱:

说明邮件是发出去了,但是接收方没收到,大概率是被拦截了。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-08-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Dotnet Dancer 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验