public void SendEmail(ApplicationUser user, string subject, string emailBody)
        {
            var configuration = new EmailSenderConfiguration
            {
                From =
                {
                    Name         = AccountContent.DevMarketplaceTeamText,
                    EmailAddress = _configuration.GetSection("EmailSettings")["FromEmail"]
                },
                To =
                {
                    EmailAddress = user.Email,
                    Name         = $"{user.FirstName} {user.LastName}",
                    Subject      = subject
                },
                EmailBody          = emailBody,
                EmailFormat        = TextFormat.Html,
                SecureSocketOption =
                    bool.Parse(_configuration.GetSection("EmailSettings")["UseSSL"])
                        ? SecureSocketOptions.Auto
                        : SecureSocketOptions.None,
                SmtpServer = _configuration.GetSection("EmailSettings")["SmtpServer"],
                SmtpPort   = int.Parse(_configuration.GetSection("EmailSettings")["SmtpPort"]),
                Domain     = _configuration.GetSection("EmailSettings")["Domain"]
            };

            _emailSender.SendEmailAsync(configuration).Wait();
        }
示例#2
0
        private EmailSenderConfiguration BuildTestConfiguration(ToConfiguration toConfiguration = null)
        {
            var configuration = new EmailSenderConfiguration();

            configuration.From.Name          = "Somebody";
            configuration.From.EmailAddress  = "*****@*****.**";
            configuration.SmtpServer         = "smtp.test.com";
            configuration.SmtpPort           = 25;
            configuration.Domain             = "someDomain.com";
            configuration.EmailFormat        = TextFormat.Text;
            configuration.SecureSocketOption = SecureSocketOptions.None;

            if (toConfiguration != null)
            {
                configuration.To = toConfiguration;
            }
            else
            {
                configuration.To.Subject      = "Hello";
                configuration.To.EmailAddress = "*****@*****.**";
                configuration.To.Name         = "some recipient";
            }

            configuration.EmailBody = "this is the body of the e-mail";

            return(configuration);
        }
        public static void AddEmailSenderService(
            this IServiceCollection services,
            EmailSenderConfiguration configuration)
        {
            SendGridClient client = new SendGridClient(configuration.ApiKey);

            services.AddScoped <ISendGridClient, SendGridClient>(x => client);
        }
 public RentalService(IRentalUnitOfWork unitOfWork,
                      IMapper mapper,
                      IMessageSendService <EmailMessage> emailSendService,
                      EmailSenderConfiguration configuration)
 {
     _unitOfWork       = unitOfWork;
     _mapper           = mapper;
     _emailSendService = emailSendService;
     _configuration    = configuration;
 }
        public static EmailSenderConfiguration AddEmailSenderConfiguration(
            this IServiceCollection services,
            IConfiguration configuration)
        {
            var config = new EmailSenderConfiguration();

            configuration.Bind("EmailSenderSettings", config);
            services.AddSingleton(config);

            return(config);
        }
示例#6
0
 /// <summary>
 /// 初始化一个<see cref="HybridOptions"/>类型的新实例
 /// </summary>
 public HybridOptions()
 {
     DbContexts  = new ConcurrentDictionary <string, HybridDbContextOptions>(StringComparer.OrdinalIgnoreCase);
     OAuth2S     = new ConcurrentDictionary <string, OAuth2Options>();
     Auditing    = new AuditingConfiguration();
     EmailSender = new EmailSenderConfiguration();
     Quartz      = new QuartzOptions();
     Ids         = new IdsOptions();
     Jwt         = new JwtOptions();
     HttpEncrypt = new HttpEncryptConfiguration();
 }
 public ForgotPasswordModel(ILogger <ForgotPasswordModel> logger,
                            UserManager <Entities.Identity.SystemUser> userManager,
                            Communication.Emailing.IEmailSender emailSender,
                            Emailing.IEmailGenerator emailGenerator,
                            Emailing.EmailTemplatesWebPath emailTemplatesWebPath,
                            Communication.Emailing.EmailSenderConfiguration emailSenderConfiguration)
 {
     _logger                   = logger;
     _userManager              = userManager;
     _emailSender              = emailSender;
     _emailGenerator           = emailGenerator;
     _emailTemplatesWebPath    = emailTemplatesWebPath;
     _emailSenderConfiguration = emailSenderConfiguration;
 }
示例#8
0
        public void SendMessage_ServiceAddressIsNull_ThorwsException_Ugly()
        {
            var messageSenderConfiguration = new MessageSenderConfiguration("", "Necati", "Kunduz");
            var smsConfiguration           = new SmsSenderConfiguration("", "", "");
            var emailConfiguration         = new EmailSenderConfiguration("", "", "");
            var communicationConfiguration = new CommunicationConfiguration(messageSenderConfiguration, emailConfiguration, smsConfiguration);
            var databaseConfiguration      = new DatabaseConfiguration();
            var routeConfiguration         = new RouteConfiguration();
            var globalConfiguration        = new GlobalConfiguration(communicationConfiguration, databaseConfiguration, routeConfiguration);

            var mockLogger = new Mock <ILogger>();
            var sut        = new ConfigurableMessageSender(mockLogger.Object, globalConfiguration);
            var message    = new Message("", "", true);


            Assert.Throws <Exception>(() => sut.Add(message));
        }
示例#9
0
 public EmailSendService(ISendGridClient client, EmailSenderConfiguration configuration)
 {
     _client        = client;
     _configuration = configuration;
 }
示例#10
0
 public EmailSenderService(IOptions <EmailSenderConfiguration> options)
 {
     _senderConfiguration = options.Value;
 }
 public CommunicationConfiguration(MessageSenderConfiguration messageSenderConfiguration, EmailSenderConfiguration emailSenderConfiguration, SmsSenderConfiguration smsSenderConfiguration)
 {
     MessageSenderConfiguration = messageSenderConfiguration;
     EmailSenderConfiguration   = emailSenderConfiguration;
     SmsSenderConfiguration     = smsSenderConfiguration;
 }