使用C#轻松发邮件:HY.Mail一款简单、易用、灵活的邮件工具库

2021-07-16 03:20

阅读:485

一、开发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

 

 

 


评论


亲,登录后才可以留言!