C# SMTP邮件发送
⚠ 服务器有可能封禁25端口
特别注意阿里云的《25端口使用服务协议》:
我/我公司承诺并保证TCP 25端口仅用来连接第三方的SMTP服务器,从第三方的SMTP服务器外发邮件。如发现您使用本机IP直接SMTP发送邮件,有权永久性封禁TCP 25端口,并不再提供相关服务。
C# 9.0 控制台应用程序代码
using System;
using System.ComponentModel;
using System.Net.Mail;
using System.Text;
SendEmail("这是一条信息", "哈哈哈哈哈", "752957127@qq.com");
void SendCompletedCallback(object sender, AsyncCompletedEventArgs e)
{
Console.WriteLine("信息发送成功!");
}
void SendEmail(string subject, string body, string toEmail)
{
// 命令行参数必须是SMTP主机
SmtpClient client = new SmtpClient("smtp.qq.com", 587);
string User = "752957127@qq.com";
string PassWord = "xxxx"; // 服务平台获取
client.UseDefaultCredentials = false;
client.EnableSsl = true;
client.Credentials = new System.Net.NetworkCredential(User, PassWord);
// 发送人
MailAddress from = new MailAddress("752957127@qq.com", "林一怂儿", Encoding.UTF8);
// 接收人
MailAddress to = new MailAddress(toEmail);
// 指定邮件内容
MailMessage message = new MailMessage(from, to);
message.Body = body;
message.BodyEncoding = Encoding.UTF8;
// 主题
message.Subject = subject;
message.SubjectEncoding = Encoding.UTF8;
// 设置发送操作结束时回调的方法.
client.SendCompleted += new SendCompletedEventHandler(SendCompletedCallback);
string userState = subject;
client.SendAsync(message, userState);
Console.WriteLine("发送消息...");
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统