// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { var emailSettings = new EmailSettings(); Configuration.Bind(nameof(emailSettings), emailSettings); services.AddSingleton(emailSettings); var userServiceSettings = new UserServiceSettings(); Configuration.Bind(nameof(userServiceSettings), userServiceSettings); services.AddSingleton(userServiceSettings); var httpClientHandler = new HttpClientHandler(); httpClientHandler.ServerCertificateCustomValidationCallback = (message, cert, chain, sslPolicyErrors) => { return(true); }; var client = new HttpClient(httpClientHandler); services.AddSingleton(client); services.AddScoped <IUserService, UserService>(); services.AddControllers(); services.AddMailKit(optionBuilder => { optionBuilder.UseMailKit(new MailKitOptions() { Server = emailSettings.server, Port = emailSettings.port, SenderName = emailSettings.from, SenderEmail = emailSettings.email, Account = emailSettings.email, Password = emailSettings.password, Security = true }); }); services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new OpenApiInfo { Title = "MovieEmailService", Version = "v1" }); }); }
public UserService(UserServiceSettings settings, HttpClient client) { _settings = settings; _client = client; }