Loading [MathJax]/jax/input/TeX/config.js
前往小程序,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 删除。

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Unity 如何在程序中发送Email邮件
发送邮件需要用到System.Net.Mail命名空间下的MailMessage和SmtpClient类,smtp是一种提供可靠且有效的电子邮件传输协议,是建立在FTP文件传输服务上的一种邮件服务。下面封装一个Email类,声明MailMessage和SmtpClient字段:
CoderZ
2022/08/29
9960
Unity 如何在程序中发送Email邮件
使用 MimeKit 和 MailKit 发送邮件
MimeKit 给.NET 社区带来了一流的 MIME 解析器,它能处理复杂的各种Mime, 性能好。而且开箱即用支持 S/MIME 和 PGP。MimeKit 和 MailKit 支持最新的国际化的电子邮件标准,是.NET 中为一个支持完整支持这些标准电子邮件库,最近正式发布了1.0版本。如果你想做所有与的电子邮件相关的事情,看看 MimeKit 和 MailKit。我保证你不会失望,它支持.NET/Mono的所有平台,包括移动电话、平板等。 使用方法很简单和.NET的SmtpClient 差不多,不过比
张善友
2018/01/29
2.2K0
使用.Net发电子邮件小结
电子邮件是通过互联网发出去的,互联网中传输层协议有TCP/IP协议,邮件服务在基于TCP/IP底层协议之上的应用层实现SMTP、POP3、IMAP4等协议,通过这些协议实现了邮件的收发服务。
小蜜蜂
2019/08/06
1.7K0
使用.Net发电子邮件小结
VB.NET 发送QQ邮件,可用于发送验证码和批量文件,通知信息
首先打开邮箱的POP3/IMAP/SMTP,获取邮箱授权码,具体操作如下:
办公魔盒
2019/08/28
1.7K0
VB.NET 发送QQ邮件,可用于发送验证码和批量文件,通知信息
邮件发送功能开发
作为一名.Net开发,"邮件发送"功能的开发和使用是必须要掌握的,因为这个功能作为“消息推送”的一种手段经常出现在各种.Net系统中,所以本文将对.Net平台下的“邮件发送”,做一个细致的分析! 一、who需要邮件功能 1、服务提供方:需提供邮件收发客户端或Web服务。如:QQ邮箱、GMail邮箱、126、163等知名邮件服务提供商。注:如果你使用的第三方不知名邮件服务商提供的邮件收发服务,通过其发出的邮件,可能会被其他知名邮件服务提供商的STMP服务器视为是"恶意邮件或垃圾邮件"! 2、消息推送:消息推送
郑小超.
2018/01/26
4.1K0
.Net魔法堂:发个带附件的邮件
一、前言                             由于工作需要最近把邮件发送封装成WebService,现在把代码记录在此,以便日后查阅。 二、二话不说写代码                     private void _SendMail(string form, string pw, string subject, string[] to, string[] cc, string body, string attachmentName, byte[] attachment)
^_^肥仔John
2018/01/18
6830
结合ABP源码实现邮件发送功能
1. 前言 最近pm临时提出了多种邮件验证操作的需求,因为一时间也没有找到好的邮件收发组件,也抱着研究ABP的心态,就花了几小时时间探究了一下ABP中关于Email的处理和操作。其实邮件操作大多大同小异,这次只是希望介绍一下ABP中实现功能的代码结构而已,以下是具体过程 演示的ABP代码版本为0.9.0.0,不过后面版本对于这部分的修改较少,所以完全不影响之后版本的移植使用 2. 实现过程 ABP的Mail操作放在了Abp.Net.Mail和Abp.Net.Mail.Smtp中,第一步先让我们直接看
潘成涛
2018/01/18
1.2K0
结合ABP源码实现邮件发送功能
MYSQL自动备份并发送邮件工具
最近在开发小程序,由于服务器只有一台,所以不能数据库异机备份,出于数据安全的考虑,就做了一个数据库定时备份并发送邮件到自己的邮箱的小工具,先看下工具界面
code2roc
2023/07/19
3350
MYSQL自动备份并发送邮件工具
ASP和ASP.NET发送邮件笔记
    这两天因公司网站邮件发不出去,然后研究了在asp网站发送邮件和在asp.net网站发送邮件的代码,把碰到的问题这里记录一下。
tandaxia
2018/09/27
7.7K0
ASP和ASP.NET发送邮件笔记
c#发送邮件含附件
在网上巴拉巴拉找个的,然后修改了下,测试可用 using System; using System.Collections.Generic; using System.Text; using System.Net.Mail; using System.Net.Mime; using System.Net; namespace CustomerDetails { public class SendEmail { private MailMessage mailMessage;
冰封一夏
2019/09/10
1.2K0
.net下发送Email的Helper类一、适用场景二、代码三、调用方法四、结束
前段时间因为业务需要自动给客户发送支持HTML格式的而且带附件的Email,而且使用的还是Office365邮箱,就抽时间看了一下这方面的内容,并写了这个帮助类。 该类是使用的SMTP服务发送Email,可以支持OFFICE365等邮箱,支持SSL、HTML邮件、附件等。目前未启用加密的常规发送和使用Office365邮箱发送都已经测试通过。 该代码目前是使用在.net 4.0环境下,理论上.net 4.0~.net 4.7都可以使用,.net core下没有测试。
徐大嘴
2019/03/21
7330
ASP.Net 2.0 发送邮件的代码
这两天因为要做一个可以收集用户提交信息,然后发送邮件到指定邮箱的网页。在asp.net2.0里网络
Java架构师必看
2021/03/22
2K0
ASP.NET(C#) 发送邮件帮助类Mailhelper
using System; using System.Data; using System.Configuration; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; u
KenTalk
2018/09/11
1.4K0
ASP.NET 实现发送邮件 + 多个收件人 + 多个附件
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/huyuyang6688/article/details/42011431
DannyHoo
2018/09/13
2.1K0
ASP.NET 实现发送邮件 + 多个收件人 + 多个附件
.NET实现注册发送邮件激活账户
要实现注册的时候同时发送一个邮件到注册人的邮箱,通过发送的邮箱链接来激活帐号,发送邮件实现如下:
用户1503405
2021/09/23
6260
C#接入SMTP邮件服务
功能类已经写好了,每个方法对应有注释,不需要动,除非你要更改smtp服务器,默认QQ邮箱
JanYork_简昀
2022/03/29
7970
C#接入SMTP邮件服务
C#通过邮箱验证来找回密码
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
喜欢ctrl的cxk
2019/11/08
1.7K0
java 发邮件 代码
​1. MailSenderInfo package org.fh.util.mail; /** * 说明:发送邮件需要使用的基本信息 * 作者:FH Admin * fhadmin.org */ import java.util.Properties; public class MailSenderInfo { // 发送邮件的服务器的IP和端口 private String mailServerHost; private Stri
FHAdmin
2021/06/23
2K0
在Managed Code通过Google Gmail发送邮件以及如何通过Outlook配置Gmail
在项目开发中,发送邮件时一种非常常见的功能。一般的情况下,大型的公司都有自己的邮件系统,我们可以直接通过公司的Pop/SMTP Server进行邮件的发送和接收。不过,对于一些小公司不具有这样的条件,他们一般通过一些公共的邮件服务通过商提供的邮件服务。比如Sina,163就是很好的、常用的邮件服务。不过相比之下,我还是习惯使用Google Gmail。 接下来,我将介绍两方面来介绍今天的内容,如果通过Managed code通过Gmail进行邮件的发送,以及如何在Outlook中配置Gmail。今天介绍的东
蒋金楠
2018/02/07
1.8K0
在Managed Code通过Google Gmail发送邮件以及如何通过Outlook配置Gmail
使用System.Net.Mail通过gmail发送电子邮件
gmail的smtp采用了ssl连接:      Outgoing Mail (SMTP) Server - requires TLS: smtp.gmail.com (use authentication)      Use Authentication: Yes      Use STARTTLS: Yes (some clients call this SSL)      Port: 465 or 587 知道了gmail的发信细节,用System.Net.Mail,就是下面这段代码就可以了 usi
张善友
2018/01/19
1.9K0
相关推荐
Unity 如何在程序中发送Email邮件
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验