/// <inheritdoc /> public void Initialize(ExtensionConfigContext context) { if (context == null) { throw new ArgumentNullException("context"); } INameResolver nameResolver = context.Config.NameResolver; _defaultApiKey = nameResolver.Resolve(AzureWebJobsSendGridApiKeyName); IConverterManager converterManager = context.Config.GetService <IConverterManager>(); converterManager.AddConverter <string, Mail>(SendGridHelpers.CreateMessage); converterManager.AddConverter <JObject, Mail>(SendGridHelpers.CreateMessage); BindingFactory factory = new BindingFactory(nameResolver, converterManager); IBindingProvider outputProvider = factory.BindToAsyncCollector <SendGridAttribute, Mail>((attr) => { string apiKey = FirstOrDefault(attr.ApiKey, ApiKey, _defaultApiKey); ISendGridClient sendGrid = _sendGridClientCache.GetOrAdd(apiKey, a => ClientFactory.Create(a)); return(new SendGridMailAsyncCollector(this, attr, sendGrid)); }); IExtensionRegistry extensions = context.Config.GetService <IExtensionRegistry>(); extensions.RegisterBindingRules <SendGridAttribute>(ValidateBinding, nameResolver, outputProvider); }
private IAsyncCollector <SendGridMessage> CreateCollector(SendGridAttribute attr) { string apiKey = FirstOrDefault(attr.ApiKey, _options.Value.ApiKey); ISendGridClient sendGrid = _sendGridClientCache.GetOrAdd(apiKey, a => ClientFactory.Create(a)); return(new SendGridMessageAsyncCollector(_options.Value, attr, sendGrid)); }
public async Task SendEmailAsync(Reservation reservation, string userEmail) { var options = new SendGridClientOptions { ApiKey = apiKey }; client = new SendGridClient(options); var msg = new SendGridMessage() { From = new EmailAddress("*****@*****.**", "Hotel Booking"), Subject = "Reservation Confirmed", PlainTextContent = "Plain text not supported.", HtmlContent = await BuildConfirmEmailBody(reservation) }; msg.AddTo(new EmailAddress(userEmail)); Response response; try { response = await client.SendEmailAsync(msg); } catch (HttpRequestException) { Console.WriteLine("{0}", "SendEmailAsync Failed"); } }
public MailSender(ISendGridClient sendGridClient, HeyImInConfiguration configuration, ILogger <MailSender> logger) { _sendGridClient = sendGridClient; _senderMail = configuration.SenderEmailAddress; _senderName = configuration.SenderEmailName; _logger = logger; }
public ConfirmationService(IHostingEnvironment env, IUnitOfWork unitOfWork, IOptions <EmailSettings> emailSettings, ISendGridClient emailClient) { _env = env; _unitOfWork = unitOfWork; _emailSettings = emailSettings.Value; _emailClient = emailClient; }
public ConnectSendGridService(IOptions <SendGridConfig> sendGridConfig, ISendGridClient sendGridClient, IMemDistCache <Template> memDistCacheTemplate, IMemDistCache <UnsubscribeGroup> memDistCacheUnsubscribeGroup) { _sendGridConfig = sendGridConfig; _sendGridClient = sendGridClient; _memDistCacheTemplate = memDistCacheTemplate; _memDistCacheUnsubscribeGroup = memDistCacheUnsubscribeGroup; }
public async Task SendPasswordResetEmailAsync(string password, string userEmail) { var options = new SendGridClientOptions { ApiKey = apiKey }; client = new SendGridClient(options); var msg = new SendGridMessage() { From = new EmailAddress("*****@*****.**", "Hotel Booking"), Subject = "Password Reset", PlainTextContent = "Plain text not supported.", HtmlContent = BuildPasswordResetEmailBody(password) }; msg.AddTo(new EmailAddress(userEmail)); Response response; try { response = await client.SendEmailAsync(msg); } catch (HttpRequestException) { Console.WriteLine("SendEmailAsync Failed to address: {0}", userEmail);; } }
public EmailService() { _hostName = Environment.GetEnvironmentVariable("RESERVATIONSYSTEM_HOSTNAME"); var apiKey = Environment.GetEnvironmentVariable("SENDGRID_APIKEY"); _client = new SendGridClient(apiKey); }
public FamSendGridEmailServiceTests() { var defaultTemplate = new EmailTemplate { To = "*****@*****.**", Body = "Body", Subject = DefaultSubject, }; fakeEmailTemplateRepository = A.Fake <IEmailTemplateRepository>(); A.CallTo(() => fakeEmailTemplateRepository.GetByTemplateName(A <string> .Ignored)).Returns(defaultTemplate); fakeMergeEmailContentService = A.Fake <IMergeEmailContent <ContactUsRequest> >(); fakeSendGridClient = A.Fake <ISendGridClient>(); var defaultResponse = new Response(HttpStatusCode.Accepted, A.Fake <HttpContent>(), null); A.CallTo(() => fakeSendGridClient.SendEmailAsync(A <SendGridMessage> .Ignored, A <CancellationToken> .Ignored)).Returns(defaultResponse); fakeSimulateEmailResponsesService = A.Fake <ISimulateEmailResponses>(); fakeAuditRepository = A.Fake <IAuditNoncitizenEmailRepository <ContactUsRequest> >(); fakeHttpClientService = A.Fake <IHttpClientService <INoncitizenEmailService <ContactUsRequest> > >(); var areaRoutingApiResponse = new AreaRoutingApiResponse { EmailAddress = EmailAddressFromAreaRouting }; var httpResponseMessage = new HttpResponseMessage { Content = new StringContent(JsonConvert.SerializeObject(areaRoutingApiResponse), Encoding.Default, "application/json") }; A.CallTo(() => fakeHttpClientService.GetAsync(A <string> .Ignored, A <FaultToleranceType> .Ignored)).Returns(httpResponseMessage); fakeMapper = A.Fake <IMapper>(); fakeConfigurationProvider = A.Fake <IConfigurationProvider>(); fakeApplicationLogger = A.Fake <IApplicationLogger>(); }
private IAsyncCollector <Mail> CreateCollector(SendGridAttribute attr) { string apiKey = FirstOrDefault(attr.ApiKey, ApiKey); ISendGridClient sendGrid = _sendGridClientCache.GetOrAdd(apiKey, a => ClientFactory.Create(a)); return(new SendGridMailAsyncCollector(this, attr, sendGrid)); }
public EmailSender(IConfiguration configuration, ISendGridClient sendGridClient, ILoggerFactory logger) { _configuration = configuration; _sendGridClient = sendGridClient; _logger = logger.CreateLogger <EmailSender>(); }
/// <summary> /// Initializes a new instance of the <see cref="SendGridEmailService"/> class. /// </summary> /// <param name="sendGridClient">The SendGrid API Client.</param> /// <param name="sendGridConfigurationOption">The application configuration for Email customisations.</param> /// <param name="logger">The application logger.</param> public SendGridEmailService(ISendGridClient sendGridClient, IOptions <SendGridConfiguration> sendGridConfigurationOption, ILogger <SendGridEmailService> logger) { this.logger = logger; this.sendGridClient = sendGridClient; this.sendGridConfigurationOption = sendGridConfigurationOption; }
public EmailService(string subject, string recipientsEmail) { _client = new SendGridClient("someApiKey"); _fromEmail = "*****@*****.**"; _fromName = "Me"; _subject = subject; _recipientsEmail = recipientsEmail; }
public EmailSender( ISendGridClient sendGridClient, IConfiguration configuration, ILogger <EmailSender> logger) { _sendGridClient = sendGridClient; _configuration = configuration; _logger = logger; }
public SendGridEmailMessenger(ISendGridClient sendGridClient, IEmailTemplateRepository emailTemplateRepository, SendGridSettings sendGridSettings) { _sendGridClient = sendGridClient; _emailTemplateRepository = emailTemplateRepository; _sendGridSettings = sendGridSettings; }
public EmailSender(ITracer tracer) { this.tracer = Diagnostics.EnsureArgumentNotNull(() => tracer); var apiKey = ConfigurationReader.ReadConfig("SendgridApiKey", false); this.sendGridClient = string.IsNullOrWhiteSpace(apiKey) ? null : new SendGridClient(apiKey); }
public SendGridService(IOptions <SendGridConfigurationOptions> options) { _options = options; _client = new SendGridClient(options.Value.ApiKey); _serializerSettings = new JsonSerializerSettings(); _serializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver(); }
public void Setup() { _oc = Substitute.For <IOrderCloudClient>(); _settings = Substitute.For <AppSettings>(); _sendGridClient = Substitute.For <ISendGridClient>(); _command = new SendgridService(_settings, _oc, _sendGridClient); }
public MailService(IConfiguration configuration, IServiceProvider serviceProvider) { _configuration = configuration; _serviceProvider = serviceProvider; _mailServiceConfiguration = new MailServiceConfiguration(); _configuration.Bind("SendGrid", _mailServiceConfiguration); _sendgridClient = new SendGridClient(_mailServiceConfiguration.ApiKey); }
/// <summary> /// Initializes a new instance of the <see cref="EmailService"/> class. /// </summary> /// <param name="emailConfiguration">The configuration.</param> public EmailService(IOptionsMonitor <EmailConfiguration> emailConfiguration, ISendGridClient sendGridClient, ILogger <EmailService> logger) { _logger = logger; _sendGridClient = sendGridClient ?? throw new ArgumentNullException(nameof(sendGridClient)); _emailConfiguration = emailConfiguration.CurrentValue ?? throw new ArgumentNullException(nameof(emailConfiguration)); }
public EmailSender(ISendGridClient sendGridClient, SendGridMessage sendGridMessage, ILogger <EmailSender> logger) { _client = sendGridClient; _message = sendGridMessage; _logger = logger; _message.SetFrom(new EmailAddress("*****@*****.**", "TodoList Team")); }
public SendGridOwnerNotificationHandler(ISendGridClient sendGridClient, IOptions <CustomOption.SendGridOptions> settings) { _sendGridClient = sendGridClient ?? throw new ArgumentNullException(nameof(sendGridClient)); _options = settings.Value; }
public EmailTemplateService(InstructorIQContext dataContext, IMemoryCache cache, IOptions <SendGridConfiguration> sendGridOptions, IHtmlService htmlService, ILogger <EmailTemplateService> logger, ISendGridClient sendGridClient) { _dataContext = dataContext; _cache = cache; _sendGridOptions = sendGridOptions; _htmlService = htmlService; _logger = logger; _sendGridClient = sendGridClient; }
public EmailService( ISendGridClient sendGridClient, SendgridConfiguration sendGridConfig, ILogger logger) { _sendGridClient = sendGridClient; _sendGridConfig = sendGridConfig; _logger = logger; }
public SendEmailNotificationHandler( ISendGridClient sendGridClient, IOptions <SendGridOptions> sendGridOptions, ILogger <SendEmailNotificationHandler> logger) { this.sendGridClient = sendGridClient; this.sendGridOptions = sendGridOptions.Value; this.logger = logger; }
public HasuraController(IValidator <HasuraEvent> validator, ILogger <HasuraController> logger, ISendGridClient sendGridClient, IConfiguration configuration, UserManager <User> manager) { _validator = validator; _logger = logger; _sendGridClient = sendGridClient; _configuration = configuration; _manager = manager; }
public NotificationService( ISendGridClient sendGridClient, IEmailBuilderRetriever emailBuilderRetriever) { Guard.ArgumentNotNull(nameof(sendGridClient), sendGridClient); _sendGridClient = sendGridClient; Guard.ArgumentNotNull(nameof(emailBuilderRetriever), emailBuilderRetriever); _emailBuilderRetriever = emailBuilderRetriever; }
public Sender( ILogger <Sender> logger, ISendGridClient client, ISenderConfigurationRepository senderConfigurationRepository, IEnumerable <ITemplateApplicator> templateApplicators, ISenderRequestValidator senderRequestValidator) : base(senderConfigurationRepository, templateApplicators, senderRequestValidator) { _logger = logger; _client = client; }
public RelayLogic( ISendGridClient client, SubjectParser subjectParser, ILogger log, IEnumerable <IMetadataSanitizer> sanitizers) { _client = client ?? throw new ArgumentNullException(nameof(client)); _subjectParser = subjectParser ?? throw new ArgumentNullException(nameof(subjectParser)); _log = log ?? throw new ArgumentNullException(nameof(log)); _sanitizers = sanitizers ?? throw new ArgumentNullException(nameof(sanitizers)); }
public EmailService( ISendGridClient client, EmailSettings settings, ITemplateResourceProvider templateProvider, ILogger <EmailService> logger) { _client = client; _logger = logger; _templateProvider = templateProvider; From = new EmailAddress(settings.FromAddress, settings.FromName); }