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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用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("[email protected]", "XXXXXXXXXXXXXXXX");
            Sender.Send("[email protected]", "测试邮件", "邮件正文");

 

通过定义Sender可以灵活定义不同类型的邮箱:比如QQ、163、阿里邮箱。通过sender也可以预设默认收件人,如下:

 public static class MyMailFactory
    {
        public static string test = string.Empty;
        public static myMailSender ToXXMailSender = new MyMailSender("[email protected]", "pwd","[email protected]");
        public static myMailSender ToYYMailSender = new MyMailSender("[email protected]", "pwd","[email protected]");
      
    }
     MyMailFactory.ToXXMailSender.Send("title","content")

这样一来,可以在不同场景可以非常灵活简洁的调用。

 Nuget安装:Install-Package HY.Mail 

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

 

 

 


以上是关于使用C#轻松发邮件:HY.Mail一款简单易用灵活的邮件工具库的主要内容,如果未能解决你的问题,请参考以下文章

一款基于RxJava2+Retrofit2实现简单易用的网络请求框架

c#如何防反编译

php利用smtp类轻松的发送电子邮件

C#使用Windows窗体实现发邮件功能

C#使用Windows窗体实现发邮件功能

c#代码怎么通过outlook发邮件