.NET 邮件发送 SMTP邮件发送

devtools/2024/10/22 14:43:44/

SMTP(Simple Mail Transfer Protocol)是用于电子邮件传输的规则集,可以从邮件客户端向接收电子邮件服务器发送、中继或转发邮件。发件人可使用SMTP 服务器来执行发送电子邮件的过程。SMTP服务器则是按照这些规则中转电子邮件的服务器。

IMAP可以理解为收邮件。

🐧使用QQ邮箱发邮件 

首先需要设置开启邮箱的SMTP服务

登录(https://mail.qq.com/)电脑网页版邮箱进入【设置】->【帐户】->【POP3/IMAP/SMTP服务】, 开启或关闭相应服务最后保存更改即可。

QQ邮箱 POP3 和 SMTP 服务器地址设置如下:

邮箱POP3服务器(端口995)SMTP服务器(端口465或587)
qq.compop.qq.comsmtp.qq.com

SMTP服务器需要身份验证。

以下是示例代码:

using ConsoleApp1Test;
//xxx
string server = "smtp.qq.com";
string username = "my test email";
string password = "xxx;
string from = "from@qq.com";
string to =   "to@qq.com";
string subject = "Test Email";
string content = "This is a test email sent asynchronously.";
bool isHtml = false; // 是否为 HTML 格式try
{bool success = await MailHelper. SendMailAsync(server, username, password, from, to, null, subject, content, isHtml);if (success){Console.WriteLine("邮件发送成功!");}else{Console.WriteLine("邮件发送失败!");}
}
catch (Exception ex)
{Console.WriteLine($"邮件发送出错:{ex.Message}");
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Mail;
using System.Text;
using System.Threading.Tasks;namespace ConsoleApp1Test
{internal class MailHelper{public static async Task<bool> SendMailAsync(string server, string username, string password, string from, string to, string cc, string subject, string content, bool isHtml){try{using (var smtp = new SmtpClient(server)){smtp.UseDefaultCredentials = false;smtp.Credentials = new System.Net.NetworkCredential(username, password);smtp.EnableSsl = true; // 启用加密smtp.DeliveryMethod = SmtpDeliveryMethod.Network;using (var mail = new MailMessage()){mail.From = new MailAddress(from);mail.To.Add(to);mail.SubjectEncoding = Encoding.UTF8;mail.Subject = subject;mail.IsBodyHtml = isHtml;mail.BodyEncoding = Encoding.UTF8;mail.Body = content;await smtp.SendMailAsync(mail); // 异步发送邮件}return true;}}catch (Exception err){// 发送失败时的异常处理// 可以在此处记录日志return false;}}}
}

🐷使用网易邮箱发送邮件

163网易免费邮

设置 > POP3/SMTP/IMAP 

使用网易邮箱发送邮件上述示例类似,只需替换相应的服务器地址、用户名、密码、发件人、收件人、主题、内容等信息即可。

string server = "smtp.163.com";
string username = "f@163.com";
string password = "xxx";
string from = "f@163.com";
string to = "t@qq.com";
string subject = "Test163Email m";
string content = "This is a test email ";
bool isHtml = false; // 是否为 HTML 格式

运行:

🐬使用谷歌邮箱发送邮件

谷歌Gmail邮箱登陆地址:https://mail.google.com


 

谷歌imap开通 smtp也自动开通 

https://myaccount.google.com/

接收邮件 (IMAP) 服务器imap.gmail.com要求 SSL:是端口:993
发送邮件 (SMTP) 服务器smtp.gmail.com要求 SSL:是要求 TLS:是(如适用)使用身份验证:是SSL 端口:465TLS/STARTTLS 端口:587


使用谷歌邮箱修改对应的服务器地址、用户名、密码、发件人、收件人、主题、内容等信息即可。

string server = "smtp.gmail.com";
string username = "f@gmail.com";
string password = "xx";
string from = "f@gmail.com";
string to = "t@qq.com";
string subject = "TestSMTPEmail m";
string content = "This is a test email sent using Gmail SMTP.m";
bool isHtml = false; // 是否为 HTML 格式

运行:

📮有些免费邮箱对发信量有限制,可使用企业邮,多账号增加发信量。

END


http://www.ppmy.cn/devtools/5972.html

相关文章

arm-none-eabi编译的程序结构和MCU运行时的程序结构

目录 概述 1 RT-Thread Studio创建STM32H7工程 1.1 下载RT-Thread Studio 1.2 编译STM32H7工程 2 编译文件结构 2.1 代码区&#xff08; text segment&#xff09; 2.2 静态数据/全局初始化数据区 2.3 未初始化数据区 3 MCU中代码运行时的数据结构 4 程序分段的意义 …

【服务器部署篇】Linux下Nacos安装和配置

作者介绍&#xff1a;本人笔名姑苏老陈&#xff0c;从事JAVA开发工作十多年了&#xff0c;带过大学刚毕业的实习生&#xff0c;也带过技术团队。最近有个朋友的表弟&#xff0c;马上要大学毕业了&#xff0c;想从事JAVA开发工作&#xff0c;但不知道从何处入手。于是&#xff0…

Don‘t fly solo! 量化之路,AI伴飞

在投资界&#xff0c;巴菲特与查理.芒格的神仙友谊&#xff0c;是他们财富神话之外的另一段传奇。巴菲特曾这样评价芒格&#xff1a;他用思想的力量拓展了我的视野&#xff0c;让我以火箭的速度&#xff0c;从猩猩进化到人类。 人生何幸能得到一知己。如果没有这样的机缘&…

仿真科普|从设计到研发,CAE仿真技术为汽车智造保驾护航

2024年3月28日&#xff0c;对于汽车产业来说&#xff0c;是历史性的一天&#xff0c;作为近年汽车行业发布会流量最大的一次&#xff0c;小米SU7的发布让整个汽车圈为之沸腾&#xff0c;成功收割全平台热搜。时至今日&#xff0c;小米汽车依然热度不减。 随着“蔚、小、理、特…

拓展网络技能:利用lua-http库下载www.linkedin.com信息的方法

引言 在当今的数字时代&#xff0c;网络技能的重要性日益凸显。本文将介绍如何使用Lua语言和lua-http库来下载和提取LinkedIn网站的信息&#xff0c;这是一种扩展网络技能的有效方法。 背景介绍 在当今科技潮流中&#xff0c;Lua语言以其轻量级和高效的特性&#xff0c;不仅…

每日学习笔记:C++ STL算法之容器元素变序

目录 反转元素次序 reverse(beg, end) reverse_copy(srcBeg, srcEnd, destEnd) 旋转元素 旋转&#xff1a;rotate(beg, newBeg, end) 复制同时旋转&#xff1a;rotate_copy(srcBeg, srcNewBeg, srcEnd, destBeg) 对元素做排列组合情况列举与切换 next_permutation(beg, …

Eureka、Nacos、Zookeeper、Redis等应用是AP还是CP?

理解CAP是什么&#xff1f; C Consistency 一致性 有集群cluster&#xff0c;如果有客户端对cluster进行了写操作&#xff0c;改变了cluster中的数据&#xff0c;则后面的客户端请求再次访问请求时&#xff0c;cluster返回给客户端的是最新的数据。 也可以理解为cluster中&…

算法训练营第25天回溯(分割)

回溯算法&#xff08;分割&#xff09; 131.分割回文串 力扣题目链接(opens new window) 题目 给定一个字符串 s&#xff0c;将 s 分割成一些子串&#xff0c;使每个子串都是回文串。 返回 s 所有可能的分割方案。 示例: 输入: “aab” 输出: [ [“aa”,“b”], [“a”,“…