From b2e66ad2eb76608e9398736b58639b697b868ea2 Mon Sep 17 00:00:00 2001 From: Jamie Cameron Date: Sat, 7 May 2011 09:55:08 -0700 Subject: [PATCH] Check for Authen::SASL perl module, offer to install it --- webmin/lang/en | 1 + webmin/save_sendmail.cgi | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/webmin/lang/en b/webmin/lang/en index 81e0f9e9f..4d3bf9c5e 100644 --- a/webmin/lang/en +++ b/webmin/lang/en @@ -928,6 +928,7 @@ sendmail_fromaddr=Address sendmail_err=Failed to save mail sending options sendmail_esmtp=Missing or un-resolvable SMTP server hostname sendmail_elogin=Missing SMTP server login +sendmail_esasl=SMTP authentication cannot be enabled unless the $2 Perl module is installed. sendmail_efrom=Missing or incorrectly formatted from address web_title=Web Server Options diff --git a/webmin/save_sendmail.cgi b/webmin/save_sendmail.cgi index 91e8935bb..0f17394c3 100755 --- a/webmin/save_sendmail.cgi +++ b/webmin/save_sendmail.cgi @@ -28,6 +28,15 @@ if ($in{'login_def'}) { } else { $in{'login_user'} =~ /^\S+$/ || &error($text{'sendmail_elogin'}); + eval "use Authen::SASL"; + if ($@) { + # Perl module missing + &error(&text('sendmail_esasl', + "/cpan/download.cgi?source=3&cpan=Authen::SASL&". + "mode=2&return=/$module_name/&returndesc=". + &urlize($text{'index_return'}), + "Authen::SASL")); + } $mconfig{'smtp_user'} = $in{'login_user'}; $mconfig{'smtp_pass'} = $in{'login_pass'}; }