一行代碼,發送郵件


朋友讓我給他媳婦兒肚子里的孩子想個名字

走的越來越快了,有天看到一個論點關於說地域會影響人的一輩子。其實想想的確有這個理兒,這使我想起來每天早上擠地鐵的時候,其中有一個A站的人總是特別彪悍的往里擠,但B站的人就是永遠不會去擠。這並不能說住在A站的人生來彪悍,只是他們那里住的人多,不去與別人爭搶你就會上班遲到,相應或許就會扣工資,遭老板白眼!就是這樣。

說回正題。讓你一行代碼實現發送郵件功能

由於幾乎在每個項目開發中都離不開發送郵件功能,所以,我們反感反復造輪子,就隨手基於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

你管。

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

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

我能再問最后一個問題嗎?

不能。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM