Example #1
0
 public SendUserLockoutEmailHandler(ApplicationUserManager userManager,
                                    IEmailSender emailSender,
                                    IEmailContentProvider <UserLockoutNotification> emailContentProvider)
 {
     this.UserManager          = userManager;
     this.EmailSender          = emailSender;
     this.EmailContentProvider = emailContentProvider;
 }
Example #2
0
        /// <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);
        }
Example #3
0
 public SendPasswordResetTokenEmailHandler(ApplicationUserManager userManager,
                                           NotificationConfiguration notificationConfiguration,
                                           IEmailSender emailSender,
                                           IEmailContentProvider <PasswordResetHasBeenGeneratedNotification> emailContentProvider)
 {
     this.UserManager          = userManager;
     this.Configuration        = notificationConfiguration;
     this.EmailSender          = emailSender;
     this.EmailContentProvider = emailContentProvider;
 }
Example #4
0
 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);
        }
Example #6
0
 /// <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));
 }
Example #7
0
 /// <summary>
 /// If you don't require functionality of <see cref="IEmailContentProvider" />. Otherwise, use one of the other constructors.
 /// </summary>
 public MailChemist()
 {
     _emailContentProvider = new EmptyEmailContentProvider();
 }