使用C#輕松發郵件:HY.Mail一款簡單、易用、靈活的郵件工具庫


一、開發HY.Mail的初衷

Nuget或者github上有很多成熟且優秀的郵件庫可以使用, 但是目前找到的使用都不夠簡潔或者不適合我的使用場景

我的場景是開發應用場景(例如系統通知、運維通知),而非業務場景(給客戶發送郵件,HY.Mail也適用於此場景)。

需要能夠靈活簡潔的調用,需要預設一些郵件信息。

例如系統運維:需要做系統日志的郵件通知,一般收件人、接收人、抄送人都是預選設置好的。那么我們就需要預先設置N種MailSender,然后根據需求直接調用對應的MailSender發送郵件正文即可,而不必調用前設置發件人密碼 收件人。

二、HY.Mail使用

HY.Mail是進一步封裝了System.Net.Mail,輕量,簡潔,線程安全,進行了多線程處理的優化。

定義自己的Sender(類庫已經預設了QQMailSender):

   public class MyMailSender : MailSender
    {
        private const string HOST = "smtp.XX.com";
        private const int PORT = 25;
        public MyMailSender(string mailAddress, string password,string to="",string cc="",string title="")
        : base(HOST, PORT, mailAddress, password,to,cc)
        {

        }
}

用法:

var Sender = new MyMailSender("XXXXXXXXXX@xx.com", "XXXXXXXXXXXXXXXX");
            Sender.Send("XXXXXXXXX@xx.com", "測試郵件", "郵件正文");

 

通過定義Sender可以靈活定義不同類型的郵箱:比如QQ、163、阿里郵箱。通過sender也可以預設默認收件人,如下:

 public static class MyMailFactory
    {
        public static string test = string.Empty;
        public static myMailSender ToXXMailSender = new MyMailSender("XX@qq.com", "pwd","to@qq.com");
        public static myMailSender ToYYMailSender = new MyMailSender("YY@qq.com", "pwd","to@qq.com");
      
    }
     MyMailFactory.ToXXMailSender.Send("title","content")

這樣一來,可以在不同場景可以非常靈活簡潔的調用。

 Nuget安裝:Install-Package HY.Mail 

GitHub地址:https://github.com/HYDevTools/HYMail-CSharp

 

 

 


免責聲明!

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



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