/// <inheritdoc /> public Task <Response> SendAsync( string toAddress, string subject, string body, bool isBodyHtml, IEMailExtraParams emailExtraParams, CancellationToken cancellationToken = default) { return(SendAsync(toAddress, subject, body, isBodyHtml, cancellationToken)); }
public Task <Response> SendAsync( string toAddress, string subject, string body, bool isBodyHtml, IEMailExtraParams emailExtraParams, CancellationToken cancellationToken = default) { if (String.IsNullOrWhiteSpace(toAddress)) { throw new ArgumentNullException(nameof(toAddress)); } if (String.IsNullOrWhiteSpace(subject)) { throw new ArgumentNullException(nameof(subject)); } if (String.IsNullOrWhiteSpace(body)) { throw new ArgumentNullException(nameof(body)); } if (emailExtraParams == null) { throw new ArgumentNullException(nameof(emailExtraParams)); } if (!(emailExtraParams is MailgunEmailExtraParams mailGunEMailExtraParams)) { throw new ArgumentException($"Only {typeof(MailgunEmailExtraParams)} is supported for this sender.", nameof(emailExtraParams)); } var user = mailGunEMailExtraParams.MailgunUser ?? _mailgunEmailOptions.MailgunUser; var apiKey = mailGunEMailExtraParams.MailgunApiKey ?? _mailgunEmailOptions.MailgunApiKey; var domain = mailGunEMailExtraParams.MailgunDomain ?? _mailgunEmailOptions.MailgunDomain; var emailFrom = mailGunEMailExtraParams.EmailFrom ?? _mailgunEmailOptions.EmailFrom; var region = mailGunEMailExtraParams.MailgunRegion ?? _mailgunEmailOptions.MailgunRegion; return(SendAsync( toAddress, subject, body, isBodyHtml, user, apiKey, domain, emailFrom, region, _mailgunEmailOptions.ReplyTo, cancellationToken)); }
public Task <Response> SendAsync(string toAddress, string subject, string body, bool isBodyHtml, IEMailExtraParams emailExtraParams, CancellationToken cancellationToken = default) { if (String.IsNullOrWhiteSpace(toAddress)) { throw new ArgumentNullException(nameof(toAddress)); } if (String.IsNullOrWhiteSpace(subject)) { throw new ArgumentNullException(nameof(subject)); } if (String.IsNullOrWhiteSpace(body)) { throw new ArgumentNullException(nameof(body)); } if (emailExtraParams == null) { throw new ArgumentNullException(nameof(emailExtraParams)); } if (!(emailExtraParams is SmtpEMailExtraParams smtpEMailExtraParams)) { throw new ArgumentException($"Only {typeof(SmtpEMailExtraParams)} is supported.", nameof(emailExtraParams)); } var senderName = smtpEMailExtraParams.SenderName?.Trim() ?? _emailOptions.SenderName.Trim(); var emailFrom = smtpEMailExtraParams.EMailFrom?.Trim() ?? _emailOptions.EMailFrom.Trim(); var replyTo = smtpEMailExtraParams.ReplyTo?.Trim() ?? _emailOptions.ReplyTo?.Trim(); return(SendAsync(toAddress, subject, body, isBodyHtml, senderName, emailFrom, replyTo, cancellationToken)); }