C#發(fā)郵件的10大代碼示例


【蜂郵EDM】:郵件群發(fā)系統(tǒng),EDM郵件營(yíng)銷(xiāo)平臺(tái),郵件代發(fā)服務(wù)。 查看價(jià)格
【AokSend郵件API】:觸發(fā)式郵件API,15元/萬(wàn)封,99%送達(dá)率。 查看價(jià)格
【烽火郵箱】:新人領(lǐng)取免費(fèi)域名郵箱,可用作企業(yè)郵箱公司郵箱。 查看價(jià)格
C# 發(fā)郵件的 10 大代碼示例
在現(xiàn)代應(yīng)用開(kāi)發(fā)中,發(fā)送郵件是一個(gè)非常常見(jiàn)的功能。使用 C# 編程時(shí),發(fā)送郵件可以通過(guò)內(nèi)置的郵件客戶(hù)端庫(kù)或第三方郵件API庫(kù)來(lái)實(shí)現(xiàn)。本文將介紹 10 個(gè)經(jīng)典的 C# 代碼示例,涵蓋郵件發(fā)送的不同場(chǎng)景和功能。
1. 基本郵件發(fā)送示例
1.1 使用內(nèi)置郵件客戶(hù)端庫(kù)
C# 的內(nèi)置郵件客戶(hù)端庫(kù)可以用來(lái)發(fā)送簡(jiǎn)單的電子郵件。以下是發(fā)送一封郵件的示例代碼:
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("郵件已成功發(fā)送"); } else { Console.WriteLine("郵件發(fā)送失敗,錯(cuò)誤碼:{0}", resultSMTPStatus); } } catch ( Exception e ) { Console.WriteLine("郵件發(fā)送失敗,錯(cuò)誤信息:{0}", e.Message); } }}
1.2 使用第三方郵件API庫(kù)
除了內(nèi)置郵件客戶(hù)端庫(kù),C# 還可以使用第三方郵件API庫(kù),如 Accord
、Mylit
和 Trueblue
等庫(kù),這些庫(kù)提供了更豐富的功能和更簡(jiǎn)便的接口。以下是使用 Accord
庫(kù)發(fā)送郵件的示例:
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("郵件已成功發(fā)送"); } else { Console.WriteLine("郵件發(fā)送失敗,錯(cuò)誤碼:{0}", result.StatusCode); } }}
2. 批量發(fā)送郵件
有時(shí)候,我們需要批量發(fā)送多封郵件,例如發(fā)送一封郵件給多個(gè)地址。以下是使用 Accord
庫(kù)批量發(fā)送郵件的示例:
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("郵件已成功發(fā)送"); } else { Console.WriteLine("郵件發(fā)送失敗,錯(cuò)誤碼:{0}", result.StatusCode); } }}
3. 附件上傳
在發(fā)送郵件時(shí),我們可能需要上傳附件,例如 Excel 文件、 PDF 文件等。以下是使用 Trueblue
庫(kù)上傳附件并發(fā)送郵件的示例:
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("郵件已成功發(fā)送"); } else { Console.WriteLine("郵件發(fā)送失敗,錯(cuò)誤碼:{0}", result.StatusCode); } }}
4. 郵件群發(fā)
有時(shí)候,我們需要發(fā)送多封郵件給同一收件人列表中的多個(gè)收件人。以下是使用 Mylit
庫(kù)進(jìn)行郵件群發(fā)的示例:
【烽火郵箱】:烽火郵箱是一款簡(jiǎn)潔高效的企業(yè)郵箱平臺(tái),新客戶(hù)贈(zèng)送免費(fèi)企業(yè)郵箱,一個(gè)起賣(mài)、按月付費(fèi)(低至9.9元);支持別名郵箱及群組郵箱,支持定制無(wú)限郵箱。高權(quán)重純凈IP池,系統(tǒng)自帶反垃圾機(jī)制。
立即查看 >> :企業(yè)郵箱價(jià)格
【蜂郵EDM】:郵件群發(fā)系統(tǒng),EDM郵件營(yíng)銷(xiāo)平臺(tái),郵件代發(fā)服務(wù),專(zhuān)業(yè)研發(fā)定制郵件營(yíng)銷(xiāo)系統(tǒng)及郵件群發(fā)解決方案!蜂郵自研產(chǎn)品線主要分為標(biāo)準(zhǔn)版、外貿(mào)版、企業(yè)版、定制版,及郵件API郵件SMTP接口服務(wù)。
立即查看 >> :郵件發(fā)送價(jià)格
【AokSend郵件API】:專(zhuān)注觸發(fā)式郵件API發(fā)送服務(wù)。15元/萬(wàn)封,發(fā)送驗(yàn)證碼郵件、忘記密碼郵件、通知告警郵件等,不限速。綜合送達(dá)率99%、進(jìn)箱率98%。觸發(fā)郵件也叫事務(wù)性郵件或推送郵件,包含:驗(yàn)證碼郵件、重置密碼郵件、余額提醒郵件、會(huì)員到期郵件、賬號(hào)認(rèn)證郵件等!
立即查看 >> :郵件發(fā)送價(jià)格
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("郵件已成功發(fā)送"); } else { Console.WriteLine("郵件發(fā)送失敗,錯(cuò)誤碼:{0}", result.StatusCode); } }}
5. 郵件集成到系統(tǒng)
在某些系統(tǒng)中,我們需要將郵件發(fā)送功能集成到其他系統(tǒng)中,例如 WPF 應(yīng)用程序。以下是使用 Accord
庫(kù)將郵件發(fā)送功能集成到 WPF 應(yīng)用程序的示例:
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】:郵件群發(fā)系統(tǒng),EDM郵件營(yíng)銷(xiāo)平臺(tái),郵件代發(fā)服務(wù)。 查看價(jià)格
【AokSend郵件API】:觸發(fā)式郵件API,15元/萬(wàn)封,99%送達(dá)率。 查看價(jià)格
【烽火郵箱】:新人領(lǐng)取免費(fèi)域名郵箱,可用作企業(yè)郵箱公司郵箱。 查看價(jià)格
掃描二維碼推送至手機(jī)訪問(wèn)。
版權(quán)聲明:本文由MailBing郵件營(yíng)銷(xiāo)博客發(fā)布,如需轉(zhuǎn)載請(qǐng)注明出處。