一行代碼,發送郵件

jopen 9年前發布 | 6K 次閱讀 C#

由于幾乎在每個項目開發中都離不開發送郵件功能,所以,我們反感反復造輪子,就隨手基于Net.Mail封裝的發送郵件代碼。這段代碼寫了很久了,今天拿出來完善了一下、改了一個bug、加了注釋、寫了文檔,一直在 GitHub上面 ,重新發布到了NuGet上。這段代碼可以用于在.Net項目中發送郵件,只需一行代碼,真的是一行。支持多附件、多接收人、多抄送人。

注:歡迎大家使用及提Bug.

GitHub地址: https://github.com/mafly/Mail

其實也沒什么特性

  • 支持自定義郵件發出郵箱、發出方名字等。
  • 支持SSL加密發送。
  • 多個接收人、抄送人。
  • 支持添加附件、多個附件。
  • 目前大部分主流郵箱全支持。

傻瓜式安裝

via NuGet:

1.打開程序包管理器控制臺,執行命令:

Install-Package Mafly.Mail

或:

2.在Project右鍵,選擇“管理NuGet程序包”,在右上角搜索框搜索“Mafly.Mail”。點擊安裝

via 源代碼:

引用如下兩個 .dll 文件

Newtonsoft.Json.dll

Mafly.Mail.dll

然后在項目目錄下建立一個名字為 Config 文件夾,放入 MailSetting.config 文件,根據自己的郵箱服務器進行配置

注:以上兩種方式完成后,都要把 MailSetting.config復制到輸出目錄 設置為 始終復制 ,或者把 生成操作 設置為 嵌入的資源

這一步不能少!不能少!!不能少!!!

不用看就會的用法

      var mailService = new Mafly.Mail.Mail();
//參數:接收者郵箱、內容
mailService.Send("mafly@obo2o.cn", "測試郵件發送!");
//參數:接收者郵箱、接收者名字、內容
mailService.Send("mafly@obo2o.cn", "mafly", "測試郵件發送!");
//參數:接收者郵箱、接收者名字、郵件主題、內容
mailService.Send("mafly@obo2o.cn", "mafly", "郵件發送", "測試郵件發送!");
//使用MailInfo對象模式  參數:接收者郵箱、接收者名字、郵件主題、內容
mailService.Send(new MailInfo
{
  Receiver = "mafly@obo2o.cn",
  ReceiverName = "mafly",
  Subject = "郵件發送",
  Body = "測試郵件發送!"
});
//使用MailInfo對象模式  參數:接收者郵箱、接收者名字、郵件主題、內容、附件路徑
mailService.Send(
  new MailInfo
  {
     Receiver = "mafly@obo2o.cn",
    ReceiverName = "mafly",
    Subject = "帶附件郵件發送",
     Body = "測試帶附件郵件發送!"
  }, "../../Program.cs");
//使用MailInfo對象模式  參數:接收者郵箱、接收者名字、郵件主題、內容、多附件路徑
mailService.Send(
  new MailInfo
  {
    Receiver = "mafly@obo2o.cn",
    ReceiverName = "mafly",
    Subject = "帶附件郵件發送",
    Body = "測試帶附件郵件發送!"
  }, new Attachment("../../Program.cs"), new Attachment("../../App.config"));

想了解 Attachment 對象和 MailMessage 對象的。具體請點擊官方文檔: Attachment ClassMailMessage Class

最后的 Q&A

你封裝的這一個其實并沒有什么卵用,很簡單阿,有這個必要嗎?

是的,你說的對。

為什么不使用現成的那些、在線服務呢?如:SendCloud

你管。

真的是一行代碼么?我看到好多行阿。

現在這個社會,沒有噱頭誰會看呢,您說是吧?

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!