2 # Save mail server settings
4 require './webmin-lib.pl';
6 &error_setup($text{'sendmail_err'});
7 &foreign_require("mailboxes");
8 &lock_file($mailboxes::module_config_file);
9 %mconfig = &foreign_config("mailboxes");
12 if ($in{'mode'} == 0) {
13 delete($mconfig{'send_mode'});
15 elsif ($in{'mode'} == 1) {
16 $mconfig{'send_mode'} = '127.0.0.1';
19 &to_ipaddress($in{'smtp'}) && &to_ip6address($in{'smtp'}) ||
20 &error($text{'sendmail_esmtp'});
21 $mconfig{'send_mode'} = $in{'smtp'};
24 # Save login and password
25 if ($in{'login_def'}) {
26 delete($mconfig{'smtp_user'});
27 delete($mconfig{'smtp_pass'});
30 $in{'login_user'} =~ /^\S+$/ || &error($text{'sendmail_elogin'});
31 eval "use Authen::SASL";
34 &error(&text('sendmail_esasl',
35 "/cpan/download.cgi?source=3&cpan=Authen::SASL&".
36 "mode=2&return=/$module_name/&returndesc=".
37 &urlize($text{'index_return'}),
40 $mconfig{'smtp_user'} = $in{'login_user'};
41 $mconfig{'smtp_pass'} = $in{'login_pass'};
45 $mconfig{'smtp_auth'} = $in{'auth'};
48 if ($in{'from_def'}) {
49 delete($mconfig{'webmin_addr'});
52 $in{'from'} =~ /^\S+\@\S+$/ || &error($text{'sendmail_efrom'});
53 $mconfig{'webmin_addr'} = $in{'from'};
56 &save_module_config(\%mconfig, "mailboxes");
57 &unlock_file($mailboxes::module_config_file);
58 &webmin_log("sendmail");