zoukankan      html  css  js  c++  java
  • 一行代码,发送邮件

    朋友让我给他媳妇儿肚子里的孩子想个名字

    走的越来越快了,有天看到一个论点关于说地域会影响人的一辈子。其实想想的确有这个理儿,这使我想起来每天早上挤地铁的时候,其中有一个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

    你管。

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

    现在这个社会,没有噱头谁会看呢,您说是吧?

    我能再问最后一个问题吗?

    不能。

  • 相关阅读:
    自定义注解!绝对是程序员装逼的利器!!
    mybatis连接数据库错误解决方法
    SQL基础
    【2021-1-5】QT+SQLsever数据库的数据管理系统
    以友盟+U-Push为例,深度解读消息推送的筛选架构解决方案应用与实践
    基于Linux的MySQL基本操作
    SQL server函数转Oracle问题之一,强行使用临时表
    安装 部署 postgresql数据库 搭建主从节点 (业务库)
    SQL练习题一(逐行累计)
    ThinkPHP中,display和assign用法详解
  • 原文地址:https://www.cnblogs.com/mafly/p/4646780.html
Copyright © 2011-2022 走看看