public void Configure(IWebJobsBuilder builder) { var config = new ConfigurationBuilder() .AddJsonFile("local.settings.json", optional: true, reloadOnChange: true) .AddEnvironmentVariables() .Build(); builder.Services.AddSingleton <MailGunEngine>(s => new MailGunEngine()); builder.Services.AddSingleton <MailGunConfig>(s => { var c = s.GetService <IConfiguration>(); var mailGunConfig = new MailGunConfig() { ApiBaseUri = config[Const.ApiBaseUri], ApiKey = config[Const.ApiKey], Domain = config[Const.Domain], Expression = config[Const.Expression], FromMail = config[Const.FromMail], FromName = config[Const.FromName], }; bool addHeaderNativeSend = false; bool.TryParse(config[Const.AddHeaderNativeSend], out addHeaderNativeSend); mailGunConfig.AddHeaderNativeSend = addHeaderNativeSend; return(mailGunConfig); }); }
/// <summary> /// Constructor dependency injection /// </summary> /// <param name="logger"></param> /// <param name="mailJetClient"></param> /// <param name="globalConfigs"></param> /// <param name="mailGunConfig"></param> public EmailServiceApi(ILogger <EmailServiceApi> logger, IMailjetClient mailJetClient, GlobalConfigs globalConfigs, MailGunConfig mailGunConfig) { _connected = true; _logger = logger; _mailJetClient = mailJetClient; _globalConfigs = globalConfigs; _mailGunConfig = mailGunConfig; }
private void MailGunConfiguration(MailGunConfig mailGunConfig) { _mailGunEngine.AddHeaderNativeSend = mailGunConfig.AddHeaderNativeSend; _mailGunEngine.ApiBaseUri = mailGunConfig.ApiBaseUri; _mailGunEngine.ApiKey = mailGunConfig.ApiKey; _mailGunEngine.Domain = mailGunConfig.Domain; _mailGunEngine.Expression = mailGunConfig.Expression; _mailGunEngine.FromMail = mailGunConfig.FromMail; _mailGunEngine.FromName = mailGunConfig.FromName; }
public Send(MailGunConfig mailGunConfig, MailGunEngine mailGunEngine) { if (mailGunEngine == null) { throw new System.ArgumentNullException(nameof(mailGunEngine)); } if (mailGunConfig == null) { throw new System.ArgumentNullException(nameof(mailGunConfig)); } _mailGunEngine = mailGunEngine; MailGunConfiguration(mailGunConfig); }