分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 软件开发

asp.net core 2.0 邮件发送服务

发布时间:2023-09-06 02:24责任编辑:彭小芳关键词:邮件

  网上找了一下,发现一个很不错的邮件发送服务Mailgun,首先要注册Mailgun账号,获得apikey以及domainame;

  然后项目中安装nuget:

  

  配置并注册服务:

  

  public interface IEmailSender ???{ ???????Task SendEmailAsync(string email, string subject, string message); ???}

  

  public class EmailSender:IEmailSender ???{ ???????private readonly EmailSettings _emailSettings; ???????public EmailSender(IOptions<EmailSettings> emailOptions) ???????{ ???????????_emailSettings = emailOptions.Value; ???????} ???????public Task SendEmailAsync(string account, string subject, string mess) ???????{ ???????????var domainName = _emailSettings.DomainName; ???????????var apiKey = _emailSettings.ApiKey; ???????????var sender = new MailgunSender(domainName, apiKey); ???????????Email.DefaultSender = sender; ???????????var email = Email.From(_emailSettings.From, "XXXXXXX平台") ???????????????.To(account) ???????????????.Subject(subject) ???????????????.Body(mess); ???????????return email.SendAsync(); ???????} ???}
  public class EmailSettings ???{ ???????public string ApiKey { get; set; } ???????public string ApiBaseUri { get; set; } ???????public string RequestUri { get; set; } ???????public string From { get; set; } ???????public ?string DomainName { get; set; } ???}
        #region 注册邮件服务 ???????????services.Configure<EmailSettings>(Configuration.GetSection("EmailSettings")); ???????????services.AddTransient<IEmailSender, EmailSender>(); ???????????#endregion

  调用:

  public class TestController : Controller ???{ ???????private readonly IOptions<EmailSettings> _emailOptions; ???????private readonly ILogger<TestController> _logger; ???????private readonly IEmailSender _emailSender; ???????public TestController(IOptions<EmailSettings> emailOptions,ILogger<TestController> logger,IEmailSender emailSender) ???????{ ???????????_emailOptions = emailOptions; ???????????_logger = logger; ???????????_emailSender = emailSender; ???????} ???????public async Task<IActionResult> Index() ???????{ ???????????try ???????????{ ???????????????string code = "259878"; ???????????????await _emailSender.SendEmailAsync("3sdaasdadasdad6@qq.com",EmailType.Captcha ,$"验证码:{code},如非本人操作请忽略。"); ???????????????_logger.LogInformation("发送邮件,to:"+"3asdasdadad6@qq.com"+",类型:"+EmailType.Captcha); ???????????????return Content("ok"); ???????????} ???????????catch (Exception e) ???????????{ ???????????????return Content("出错了:"+e.Message); ???????????} ???????????????????} ???}

  收到验证码:

asp.net core 2.0 邮件发送服务

原文地址:https://www.cnblogs.com/hany-sundigital/p/10030131.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved