public SendUserLockoutEmailHandler(ApplicationUserManager userManager, IEmailSender emailSender, IEmailContentProvider <UserLockoutNotification> emailContentProvider) { this.UserManager = userManager; this.EmailSender = emailSender; this.EmailContentProvider = emailContentProvider; }
/// <summary> /// Use MJML as the <see cref="IEmailContentProvider" /> /// </summary> /// <param name="mjmlApiApplicationId"></param> /// <param name="mjmlApiSecretKey"></param> /// <param name="mjmlApiUrl">Use this to mock or change to future version if the scheme hasn't changed</param> /// <exception cref="UriFormatException"></exception> /// <exception cref="ArgumentNullException"></exception> public MailChemist(string mjmlApiApplicationId, string mjmlApiSecretKey, string mjmlApiUrl = "https://api.mjml.io/v1") { var baseUri = new Uri(mjmlApiUrl); _emailContentProvider = new MjmlEmailContentProvider(baseUri, mjmlApiApplicationId, mjmlApiSecretKey); }
public SendPasswordResetTokenEmailHandler(ApplicationUserManager userManager, NotificationConfiguration notificationConfiguration, IEmailSender emailSender, IEmailContentProvider <PasswordResetHasBeenGeneratedNotification> emailContentProvider) { this.UserManager = userManager; this.Configuration = notificationConfiguration; this.EmailSender = emailSender; this.EmailContentProvider = emailContentProvider; }
public ResendEmailConfirmationHandler(ApplicationUserManager userManager, NotificationConfiguration notificationConfiguration, IEmailSender emailSender, IEmailContentProvider <UserRegisteredNotification> emailContentProvider) { this.UserManager = userManager; this.Configuration = notificationConfiguration; this.EmailSender = emailSender; this.EmailContentProvider = emailContentProvider; }
public MessageService(IUnitOfWork unitOfWork, ISmtpClient smtpClient, IAppSettingsProvider appSettingsProvider, IEmailContentProvider emailContentProvider, IMessageRepository messageRepository, ITokenService tokenService, IMapper mapper) : base(messageRepository, unitOfWork, mapper) { _smtpSettings = appSettingsProvider.GetSmtpSettings(); _smtpClient = smtpClient; _mapper = mapper; _smtpClient = _mapper.Map <System.Net.Mail.Abstractions.SmtpClient>(_smtpSettings); _emailContentProvider = emailContentProvider; _messageRepository = messageRepository; _tokenService = tokenService; _unitOfWork = unitOfWork; appSettingsProvider.GetAppSettings(AppSettingsType.DefaultSettings, AppSettingsType.Resources); }
/// <summary> /// Implement a custom <see cref="IEmailContentProvider" /> /// </summary> /// <param name="emailContentProvider"></param> /// <exception cref="ArgumentNullException"><paramref name="emailContentProvider"/> is null</exception> public MailChemist(IEmailContentProvider emailContentProvider) { _emailContentProvider = emailContentProvider ?? throw new ArgumentNullException(nameof(emailContentProvider)); }
/// <summary> /// If you don't require functionality of <see cref="IEmailContentProvider" />. Otherwise, use one of the other constructors. /// </summary> public MailChemist() { _emailContentProvider = new EmptyEmailContentProvider(); }