From: Frédéric Buclin Date: Tue, 16 Aug 2011 00:56:16 +0000 (+0200) Subject: Bug 466419: Add SSL support for SMTP X-Git-Tag: bugzilla-4.3.1~289 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d9a3904454980dd10f5fddd973e254ab138764b6;p=thirdparty%2Fbugzilla.git Bug 466419: Add SSL support for SMTP r/a=mkanat --- diff --git a/Bugzilla/Config/Common.pm b/Bugzilla/Config/Common.pm index 9fffe02ee0..17505079fa 100644 --- a/Bugzilla/Config/Common.pm +++ b/Bugzilla/Config/Common.pm @@ -51,7 +51,7 @@ use base qw(Exporter); check_user_verify_class check_mail_delivery_method check_notification check_utf8 check_bug_status check_smtp_auth check_theschwartz_available - check_maxattachmentsize check_email + check_maxattachmentsize check_email check_smtp_ssl ); # Checking functions for the various values @@ -350,6 +350,14 @@ sub check_smtp_auth { return ""; } +sub check_smtp_ssl { + my $use_ssl = shift; + if ($use_ssl && !Bugzilla->feature('smtp_ssl')) { + return "SSL support is not available. Run checksetup.pl for more details"; + } + return ""; +} + sub check_theschwartz_available { my $use_queue = shift; if ($use_queue && !Bugzilla->feature('jobqueue')) { diff --git a/Bugzilla/Config/MTA.pm b/Bugzilla/Config/MTA.pm index c90e5dc763..b9b25bc6ff 100644 --- a/Bugzilla/Config/MTA.pm +++ b/Bugzilla/Config/MTA.pm @@ -80,6 +80,12 @@ sub get_param_list { type => 'p', default => '' }, + { + name => 'smtp_ssl', + type => 'b', + default => 0, + checker => \&check_smtp_ssl + }, { name => 'smtp_debug', type => 'b', diff --git a/Bugzilla/Install/Requirements.pm b/Bugzilla/Install/Requirements.pm index d8119f1b05..ab696e2353 100644 --- a/Bugzilla/Install/Requirements.pm +++ b/Bugzilla/Install/Requirements.pm @@ -260,6 +260,12 @@ sub OPTIONAL_MODULES { version => 0, feature => ['smtp_auth'], }, + { + package => 'Net-SMTP-SSL', + module => 'Net::SMTP::SSL', + version => 1.01, + feature => ['smtp_ssl'], + }, { package => 'RadiusPerl', module => 'Authen::Radius', diff --git a/Bugzilla/Mailer.pm b/Bugzilla/Mailer.pm index 5ee6fd2eb8..699467ed8e 100644 --- a/Bugzilla/Mailer.pm +++ b/Bugzilla/Mailer.pm @@ -164,6 +164,7 @@ sub MessageToMTA { username => Bugzilla->params->{"smtp_username"}, password => Bugzilla->params->{"smtp_password"}, Hello => $hostname, + ssl => Bugzilla->params->{'smtp_ssl'}, Debug => Bugzilla->params->{'smtp_debug'}; } diff --git a/template/en/default/admin/params/mta.html.tmpl b/template/en/default/admin/params/mta.html.tmpl index 05c44853e2..b4826e401c 100644 --- a/template/en/default/admin/params/mta.html.tmpl +++ b/template/en/default/admin/params/mta.html.tmpl @@ -63,6 +63,8 @@ smtp_password => "The password to pass to the SMTP server for SMTP authentication. " _ "This field has no effect if the smtp_username parameter is left empty.", + smtp_ssl => "Enable SSL support for SMTP.", + smtp_debug => "If enabled, this will print detailed information to your" _ " web server's error log about the communication between" _ " $terms.Bugzilla and your SMTP server. You can use this to" _ diff --git a/template/en/default/setup/strings.txt.pl b/template/en/default/setup/strings.txt.pl index 0bf3bdd7cb..bbc188efb4 100644 --- a/template/en/default/setup/strings.txt.pl +++ b/template/en/default/setup/strings.txt.pl @@ -106,6 +106,7 @@ END feature_moving => 'Move Bugs Between Installations', feature_patch_viewer => 'Patch Viewer', feature_smtp_auth => 'SMTP Authentication', + feature_smtp_ssl => 'SSL Support for SMTP', feature_updates => 'Automatic Update Notifications', feature_xmlrpc => 'XML-RPC Interface', feature_detect_charset => 'Automatic charset detection for text attachments',