zoukankan      html  css  js  c++  java
  • .NET Core使用FluentEmail发送邮件

    第一步:

             1.1  结合依赖注入使用

            在使用.Net Core的实际开发中,依赖注入已经成为了必不可少的开发模式。如果你正在使用.Net Core开发项目,但是你还没有接触依赖注入,那么需要你先自行反省一下。FluentEmail作为一款与时俱进的组件,也可以结合依赖注入          使用,使用这种方式我们可以在注册的时候统一的配置一些默认的设置。这波操作就不需要额外引入一些别的包了,如果你需要使用Smtp就引入FluentEmail.Smtp包,如果你需要使用Razor模板就引入FluentEmail.Razor包,关于注入          的这一部分的功能其实是包含在FluentEmail.Core包里面的

                    public void ConfigureServices(IServiceCollection services)

            {
              SmtpClient smtp = new SmtpClient
              {
                //smtp服务器地址(我这里以126邮箱为例,可以依据具体你使用的邮箱设置)
                Host = "smtp.qq.com",
                UseDefaultCredentials = true,
                DeliveryMethod = SmtpDeliveryMethod.Network,
                //这里输入你在发送smtp服务器的用户名和密码
                Credentials = new NetworkCredential("zhangsan@qq.com", "zhangsan")
              };
              //注入的时候可以添加一些默认的设置
              services
                //设置默认发送用户
                .AddFluentEmail("zhangsan@qq.com")
                //配置默认的smtp服务信息
                .AddSmtpSender(smtp);
            }        

    第二步:

              2.1 接下来我们就演示一下如何使用FluentEmail发送邮件,由于我们实际业务中大多数都使用的SMTP的方式发送邮件,所以我们就以此为做演示,首先我们在项目中引入FluentEmail.Smtp包,目前最新版本为2.8.0

               <PackageReference Include="FluentEmail.Smtp" Version="2.8.0" />

    第三步:

              3.1 它的编码使用方式非常简单而且非常简洁,主要通过链式编程的方式:

              //如果使用smtp服务发送邮件必须要设置smtp服务信息

              SmtpClient smtp = new SmtpClient
              {
                //smtp服务器地址(我这里以126邮箱为例,可以依据具体你使用的邮箱设置)
                Host = "smtp.126.com",
                UseDefaultCredentials = true,
                DeliveryMethod = SmtpDeliveryMethod.Network,
                //这里输入你在发送smtp服务器的用户名和密码
                Credentials = new NetworkCredential("邮箱用户名", "邮箱密码")
              };
              //设置默认发送信息
              Email.DefaultSender = new SmtpSender(smtp);
              var email = Email
                //发送人
                .From("zhangsan@126.com")
                //收件人
                .To("lisi@qq.com")
                //抄送人
                .CC("admin@126.com")
                //邮件标题
                .Subject("邮件标题")
                //邮件内容
                .Body("邮件内容");
              //依据发送结果判断是否发送成功
              var result = email.Send();
              //或使用异步的方式发送
              //await email.SendAsync();
              if (result.Successful)
              {
                //发送成功逻辑
              }
              else
              {
                //发送失败可以通过result.ErrorMessages查看失败原因
              }
  • 相关阅读:
    WorkerMan源码分析(resetStd方法,PHP中STDIN, STDOUT, STDERR的重定向)
    linux:nohup 不生成 nohup.out的方法
    PHP系统编程--PHP进程信号处理(转)
    shell脚本实例总结
    saltstack 迭代项目到客户端并结合jenkins自动发布多台服务器
    自动化运维工具 SaltStack 搭建
    coding利用Webhook实现Push代码后的jenkins自动构建
    基于jquery地图特效全国网点查看代码
    基于jquery判断浏览器版本过低代码
    EntityFramework Model有外键时,Json提示循环引用 解决方法
  • 原文地址:https://www.cnblogs.com/wlming/p/14056069.html
Copyright © 2011-2022 走看看