码迷,mamicode.com
首页 > Windows程序 > 详细

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

时间:2018-01-07 15:59:31      阅读:371      评论:0      收藏:0      [点我收藏+]

标签:empty   pack   http   适合   定义   family   apple   地址   order   

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

 

 

 

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

标签:empty   pack   http   适合   定义   family   apple   地址   order   

原文地址:https://www.cnblogs.com/aspnetcores/p/8227961.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!