mirror of
https://github.com/discourse/discourse.git
synced 2025-06-01 05:53:52 +08:00
DEV: Add service to validate email settings (#13021)
We have a few places in the code where we need to validate various email related settings, and will have another soon with the improved group email settings UI. This PR introduces a class which can validate POP3, IMAP, and SMTP credentials and also provide a friendly error message for issues if they must be presented to an end user. This PR does not change any existing code to use the new service. I have added a TODO to change POP3 validation and the email test rake task to use the new validator post-release.
This commit is contained in:
@ -33,6 +33,16 @@ class POP3PollingEnabledSettingValidator
|
||||
private
|
||||
|
||||
def authentication_works?
|
||||
|
||||
# TODO (martin, post-2.7 release) Change to use EmailSettingsValidator
|
||||
# EmailSettingsValidator.validate_pop3(
|
||||
# host: SiteSetting.pop3_polling_host,
|
||||
# port: SiteSetting.pop3_polling_port,
|
||||
# ssl: SiteSetting.pop3_polling_ssl,
|
||||
# username: SiteSetting.pop3_polling_username,
|
||||
# password: SiteSetting.pop3_polling_password,
|
||||
# openssl_verify: SiteSetting.pop3_polling_openssl_verify
|
||||
# )
|
||||
@authentication_works ||= begin
|
||||
pop3 = Net::POP3.new(SiteSetting.pop3_polling_host, SiteSetting.pop3_polling_port)
|
||||
pop3.enable_ssl(OpenSSL::SSL::VERIFY_NONE) if SiteSetting.pop3_polling_ssl
|
||||
|
Reference in New Issue
Block a user