.NET 邮件发送 SMTP邮件发送

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.hqwc.cn/news/635908.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CSV解析

一直以为csv靠逗号&#xff08;,&#xff09;分割数据&#xff0c;那么只要用str.spilt(,,row)便可以将数据分割开。 事实证明想简单了&#xff0c;csv里还有这样的规定&#xff0c;如果数据内有双引号&#xff08;"&#xff09;和逗号&#xff08;,&#xff09;那么&…

面向对象(封装,继承,多态)

1.封装【encapsulation】 【/ɪnˌkpsjuˈleɪʃ(ə)n/】 在面向对象程式设计方法中&#xff0c;封装&#xff08;英语&#xff1a;Encapsulation&#xff09;是指一种将抽象性函式接口的实现细节部分包装、隐藏起来的方法。 封装可以被认为是一个保护屏障&#xff0c;防止该…

基于Zookeeper 简单实现分布式任务协调组件

优质博文&#xff1a;IT-BLOG-CN 一、什么是 Zookeeper ZooKeeper是一个分布式的&#xff0c;开放源码的分布式应用程序协调服务&#xff0c;是Google的Chubby一个开源的实现&#xff0c;是Hadoop和Hbase的重要组件。 它是一个为分布式应用提供一致性服务的软件&#xff0c;提…

苍穹外卖day1--开发环境搭建

整体结构 前端&#xff1a;管理端&#xff08;Web&#xff09; 用户端&#xff08;小程序&#xff09; 后端&#xff1a;后端服务&#xff08;Java&#xff09; 前端工程基于ngnix运行 启动nginx&#xff1a;双击nginx.exe即可启动nginx服务&#xff0c;访问端口号为80 后端…

【数字电路与系统】【北京航空航天大学】实验:时序逻辑设计——三色灯开关(二)、需求分析和系统设计

本次实验&#xff08;一&#xff09;见博客&#xff1a;【数字电路与系统】【北京航空航天大学】实验&#xff1a;时序逻辑设计——三色灯开关&#xff08;一&#xff09;、实验指导书 说明&#xff1a;本次实验的代码使用verilog编写&#xff0c;文章中为阅读方便&#xff0c…

C#使用AnimateWindow()实现动画窗体的方法:创建特殊窗体

目录 一.涉及到的知识点 &#xff08;1&#xff09; AnimateWindow函数 &#xff08;2&#xff09;操作流程 1.首先&#xff0c;定义一个用于封装AnimateWindow函数的类 2.在窗体类中使用这个方法 3.生成效果 二、实例 &#xff08;1&#xff09;Resources.Designer.cs…

C++|stack-queue-priority_queue(适配器+模拟实现+仿函数)

目录 一、容器适配器 1.1容器适配器概念的介绍 1.2stack和queue的底层结构 1.3deque容器的介绍 1.3.1deque的缺陷及为何选择他作为stack和queue的底层默认实现 二、stack的介绍和使用 2.1stack的介绍 2.2stack的使用 2.3stack的模拟实现 三、queue的介绍和使用 …

LLMs之Llama3:Llama 3的简介、安装和使用方法、案例应用之详细攻略

LLMs之Llama3&#xff1a;Llama 3的简介、安装和使用方法、案例应用之详细攻略 导读&#xff1a;2024年4月18日&#xff0c;Meta 重磅推出了Meta Llama 3&#xff0c;本文章主要介绍了Meta推出的新的开源大语言模型Meta Llama 3。模型架构 Llama 3 是一种自回归语言模型&#x…

蓝桥杯第十五界软件测试线下省赛题目分析及解决

PS 需要第十五界蓝桥杯被测系统或者功能测试模板、单元测试被测代码、自动化测试被测代码请加&#x1f427;:1940787338 备注&#xff1a;15界蓝桥杯省赛软件测试 题目1&#xff1a;功能测试 题目描述 ​ 某物流公司的货运收费标准根据重量、距离和节假日三个因素来确定。如…

2024蓝桥杯嵌入式模板代码详解

文章目录 一、STM32CubeMx配置二、LED模板代码三、LCD模板代码 一、STM32CubeMx配置 打开STM32CubeMx&#xff0c;选择【File】->【New Project】&#xff0c;进入芯片选择界面&#xff0c;搜索到蓝桥杯官方的芯片型号&#xff0c;并点击收藏&#xff0c;下次直接点击收藏就…

LeetCode 113—— 路径总和 II

阅读目录 1. 题目2. 解题思路3. 代码实现 1. 题目 2. 解题思路 看到树的问题一般我们先考虑一下是否能用递归来做。 假设 root 节点的值为 value&#xff0c;如果根节点的左子树有一个路径总和等于 targetSum - value&#xff0c;那么只需要将根节点的值插入到这个路径列表中…

Unity之圆环slider

一、参考文章 Unity_圆环滑动条&#xff08;圆形、弧形滑动条&#xff09;_unity弧形滑动条-CSDN博客 此滑动条拖动超过360后继续往前滑动值会从0开始&#xff0c;正常我们超过360度时不可在滑动。 二、 超过360度不可滑动问题解决 参考HTML文章制作&#xff1a; https://www.c…