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 库批量发送邮件的示例:
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 库进行邮件群发的示例:
【烽火邮箱】:烽火邮箱是一款简洁高效的企业邮箱平台,新客户赠送免费企业邮箱,一个起卖、按月付费(低至9.9元);支持别名邮箱及群组邮箱,支持定制无限邮箱。高权重纯净IP池,系统自带反垃圾机制。
立即查看 >> :企业邮箱价格
【蜂邮EDM】:邮件群发系统,EDM邮件营销平台,邮件代发服务,专业研发定制邮件营销系统及邮件群发解决方案!蜂邮自研产品线主要分为标准版、外贸版、企业版、定制版,及邮件API邮件SMTP接口服务。
立即查看 >> :邮件发送价格
【AokSend邮件API】:专注触发式邮件API发送服务。15元/万封,发送验证码邮件、忘记密码邮件、通知告警邮件等,不限速。综合送达率99%、进箱率98%。触发邮件也叫事务性邮件或推送邮件,包含:验证码邮件、重置密码邮件、余额提醒邮件、会员到期邮件、账号认证邮件等!
立即查看 >> :邮件发送价格
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%送达率。 查看价格
【烽火邮箱】:新人领取免费域名邮箱,可用作企业邮箱公司邮箱。 查看价格
