/// <summary> /// 获取安全套接字选项 /// </summary> /// <returns></returns> protected virtual SecureSocketOptions GetSecureSocketOption() { var config = _mailKitConfigProvider.GetConfig(); if (config.SecureSocketOption.HasValue) { return(config.SecureSocketOption.Value); } var emailConfig = _emailConfigProvider.GetConfig(); return(emailConfig.EnableSsl ? SecureSocketOptions.SslOnConnect : SecureSocketOptions.StartTlsWhenAvailable); }
/// <summary> /// 配置SMTP客户端 /// </summary> /// <param name="client">SMTP客户端</param> protected virtual void ConfigureClient(SmtpClient client) { var emailConfig = _emailConfigProvider.GetConfig(); var mailKitConfig = _mailKitConfigProvider.GetConfig(); if (mailKitConfig.ServerCertificateValidationCallback.HasValue) { client.ServerCertificateValidationCallback = (s, c, h, e) => mailKitConfig.ServerCertificateValidationCallback.Value; } client.Connect(emailConfig.Host, emailConfig.Port, GetSecureSocketOption()); if (emailConfig.UseDefaultCredentials) { return; } client.Authenticate(emailConfig.UserName, emailConfig.Password); }