C#发邮件的10大代码示例


【蜂邮EDM】:邮件群发系统,EDM邮件营销平台,邮件代发服务。 查看价格
【AokSend邮件API】:触发式邮件API,15元/万封,99%送达率。 查看价格
【烽火邮箱】:新人领取免费域名邮箱,可用作企业邮箱公司邮箱。 查看价格
C# 发邮件的 10 大代码示例
在现代应用开发中,发送邮件是一个非常常见的功能。使用 C# 编程时,发送邮件可以通过内置的邮件客户端库或第三方邮件API库来实现。本文将介绍 10 个经典的 C# 代码示例,涵盖邮件发送的不同场景和功能。
1. 基本邮件发送示例
1.1 使用内置邮件客户端库
C# 的内置邮件客户端库可以用来发送简单的电子邮件。以下是发送一封邮件的示例代码:
using System;using System.Net;using System.Net.Mail;public class EmailSender{ public static void SendEmail(string From, string To, string Subject, string Body) { var server = new SMTPServerAddress("smtp.example.com", 587); var options = new SdkOptions(smtpOptions := new SmtpOptions() { SendSmtp = true }); var envelope = new Envelope(); envelope.To = To; envelope.Subject = Subject; envelope.Body = Body; envelope.DeliveryRequeue = true; envelope residency = 1; envelope Macro服用 = new Macro服用 { Macro服用1 = "C:\\Program Files\\Microsoft\\Windows\\System32\\cmd.exe" }; try { var result = SmtpService.Send(smtpserver: server, options, envelope); if (result SMTPStatus == 0) { Console.WriteLine("邮件已成功发送"); } else { Console.WriteLine("邮件发送失败,错误码:{0}", resultSMTPStatus); } } catch ( Exception e ) { Console.WriteLine("邮件发送失败,错误信息:{0}", e.Message); } }}
1.2 使用第三方邮件API库
除了内置邮件客户端库,C# 还可以使用第三方邮件API库,如 Accord
、Mylit
和 Trueblue
等库,这些库提供了更丰富的功能和更简便的接口。以下是使用 Accord
库发送邮件的示例:
using System;using Accord.Mail;public class EmailSender{ public static void SendEmail(string From, string To, string Subject, string Body) { var options = new MailOptions() { To = new RecipientList() { Add(From, "主题: " + Subject), }, Body = Body, Server = new MailServer() { ServerAddress = "smtp.example.com", Port = 587, UseTLS = true, TLSVersion = TLSVersion TLS1_2, UseStarttls = true, Encrypted = true, } }; var envelope = new MailEnvelope() { To = To, Body = Body, Date = DateTime.Now.ToString(), From = From, Cc = new RecipientList() { Add("cc@example.com") }, Bcc = new RecipientList() { Add("bcc@example.com") }, Subject = Subject, Attachments = new MailAttachmentList() { Add(new MailAttachment("message", "msg", new byte[] { 0x01, 0x02 })) } }; var result = Mailer.Send(options, envelope); if (result.StatusCode == 0) { Console.WriteLine("邮件已成功发送"); } else { Console.WriteLine("邮件发送失败,错误码:{0}", result.StatusCode); } }}
2. 批量发送邮件
有时候,我们需要批量发送多封邮件,例如发送一封邮件给多个地址。以下是使用 Accord
库批量发送邮件的示例:
【烽火邮箱】:烽火邮箱是一款简洁高效的企业邮箱平台,新客户赠送免费企业邮箱,一个起卖、按月付费(低至9.9元);支持别名邮箱及群组邮箱,支持定制无限邮箱。高权重纯净IP池,系统自带反垃圾机制。
立即查看 >> :企业邮箱价格
【蜂邮EDM】:邮件群发系统,EDM邮件营销平台,邮件代发服务,专业研发定制邮件营销系统及邮件群发解决方案!蜂邮自研产品线主要分为标准版、外贸版、企业版、定制版,及邮件API邮件SMTP接口服务。
立即查看 >> :邮件发送价格
【AokSend邮件API】:专注触发式邮件API发送服务。15元/万封,发送验证码邮件、忘记密码邮件、通知告警邮件等,不限速。综合送达率99%、进箱率98%。触发邮件也叫事务性邮件或推送邮件,包含:验证码邮件、重置密码邮件、余额提醒邮件、会员到期邮件、账号认证邮件等!
立即查看 >> :邮件发送价格
using System;using System.Collections.Generic;using Accord.Mail;public class EmailSender{ public static void SendMassEmail(string From, List<string> ToList, string Subject, string Body) { var options = new MailOptions() { To = new RecipientList() { foreach (var recipient in ToList) { Add(recipient, "主题: " + Subject); } }, Body = Body, Server = new MailServer() { ServerAddress = "smtp.example.com", Port = 587, UseTLS = true, TLSVersion = TLSVersion TLS1_2, UseStarttls = true, Encrypted = true, } }; var envelope = new MailEnvelope() { To = ToList, Body = Body, Date = DateTime.Now.ToString(), From = From, Cc = new RecipientList() { Add("cc@example.com") }, Bcc = new RecipientList() { Add("bcc@example.com") }, Subject = Subject, Attachments = new MailAttachmentList() { Add(new MailAttachment("message", "msg", new byte[] { 0x01, 0x02 })) } }; var result = Mailer.Send(options, envelope); if (result.StatusCode == 0) { Console.WriteLine("邮件已成功发送"); } else { Console.WriteLine("邮件发送失败,错误码:{0}", result.StatusCode); } }}
3. 附件上传
在发送邮件时,我们可能需要上传附件,例如 Excel 文件、 PDF 文件等。以下是使用 Trueblue
库上传附件并发送邮件的示例:
using System;using Trueblue.Mail;public class EmailSender{ public static void SendEmailWithAttachment(string From, string To, string Subject, string Body, params object[] attachments) { var options = new MailOptions() { To = To, Subject = Subject, Body = Body, Server = new MailServer() { ServerAddress = "smtp.example.com", Port = 587, UseTLS = true, TLSVersion = TLSVersion TLS1_2, UseStarttls = true, Encrypted = true, }, Attachments = new AttachmentList() { attachments = attachments, } }; var envelope = new MailEnvelope() { To = To, Body = Body, Date = DateTime.Now.ToString(), From = From, Cc = new RecipientList() { Add("cc@example.com") }, Bcc = new RecipientList() { Add("bcc@example.com") }, Subject = Subject, Attachments = new AttachmentList() { attachments = attachments, } }; var result = Mailer.Send(options, envelope); if (result.StatusCode == 0) { Console.WriteLine("邮件已成功发送"); } else { Console.WriteLine("邮件发送失败,错误码:{0}", result.StatusCode); } }}
4. 邮件群发
有时候,我们需要发送多封邮件给同一收件人列表中的多个收件人。以下是使用 Mylit
库进行邮件群发的示例:
using System;using Mylit.Mail;public class EmailSender{ public static void SendMassEmail(string From, string[] ToList, string Subject, string Body) { var options = new MailOptions() { To = new RecipientList() { foreach (var recipient in ToList) { Add(recipient, "主题: " + Subject); } }, Body = Body, Server = new MailServer() { ServerAddress = "smtp.example.com", Port = 587, UseTLS = true, TLSVersion = TLSVersion TLS1_2, UseStarttls = true, Encrypted = true, } }; var envelope = new MailEnvelope() { To = ToList, Body = Body, Date = DateTime.Now.ToString(), From = From, Cc = new RecipientList() { Add("cc@example.com") }, Bcc = new RecipientList() { Add("bcc@example.com") }, Subject = Subject, Attachments = new AttachmentList() { Add(new Attachment("message", "msg", new byte[] { 0x01, 0x02 })) } }; var result = Mailer.Send(options, envelope); if (result.StatusCode == 0) { Console.WriteLine("邮件已成功发送"); } else { Console.WriteLine("邮件发送失败,错误码:{0}", result.StatusCode); } }}
5. 邮件集成到系统
在某些系统中,我们需要将邮件发送功能集成到其他系统中,例如 WPF 应用程序。以下是使用 Accord
库将邮件发送功能集成到 WPF 应用程序的示例:
using System;using System.Windows;using System.Windows.Controls;using System.Windows.Controls.DataVisualization.Charting;using System.Windows.Controls designer;using System.Windows.Controls designer designer;using System.Windows.Controls designer designer designer;using System.Windows.Controls designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System.Windows.Controls designer designer designer designer designer;using System


【蜂邮EDM】:邮件群发系统,EDM邮件营销平台,邮件代发服务。 查看价格
【AokSend邮件API】:触发式邮件API,15元/万封,99%送达率。 查看价格
【烽火邮箱】:新人领取免费域名邮箱,可用作企业邮箱公司邮箱。 查看价格