コード例 #1
0
 protected async Task <IActionResult> SendMessageAsync(EmailModel model, IEmailClientConfiguration config = null)
 {
     if (config == null)
     {
         config = await _emailClientSettingsFactory.GetConfigurationAsync();
     }
     _emailClient.Configuration = config;
     return(await this.SendEmailAsync(model, _emailClient));
 }
コード例 #2
0
 /// <summary>
 /// Updates the configuration settings used to connect with the underlying <see cref="IEmailClientService"/>.
 /// </summary>
 /// <param name="config">The new configuration to set.</param>
 public virtual void ChangeConfiguration(IEmailClientConfiguration config)
 {
     Client.Configuration = config;
 }
コード例 #3
0
 public SendGridEmailClient(ISendGridClient argSendGridClient, IEmailClientConfiguration argEmailClientConfiguration)
 {
     sendGridClient           = argSendGridClient;
     emailClientConfiguration = argEmailClientConfiguration;
 }
コード例 #4
0
        /// <summary>
        /// Asynchronously establish a connection to the specified mail server.
        /// </summary>
        /// <param name="client">The mail service client used to connect.</param>
        /// <param name="cfg">The configuration settings used to establish a connection.</param>
        /// <param name="cancellationToken">The token used to cancel an ongoing async operation.</param>
        /// <param name="certificateValidator">A callback function to validate the server certificate.</param>
        /// <returns></returns>
        public static async Task <IMailService> ConnectAsync(this IMailService client, IEmailClientConfiguration cfg, CancellationToken cancellationToken = default(CancellationToken), RemoteCertificateValidationCallback certificateValidator = null)
        {
            client.ServerCertificateValidationCallback = certificateValidator ?? _certValidator;

            await client.ConnectAsync(cfg.Host, cfg.Port, cfg.UseSsl, cancellationToken);

            if (cfg.RequiresAuth)
            {
                await client.AuthenticateAsync(cfg.UserName, cfg.Password);
            }

            return(client);
        }