#ACTIONS
if ($cgiparams{'ACTION'} eq "$Lang::tr{'save'}"){ #SaveButton on configsite
- #Check fields
- if ($cgiparams{'USEMAIL'} eq 'on'){
- $errormessage=&checkmailsettings;
- }else{
- $cgiparams{'txt_mailserver'}='';
- $cgiparams{'txt_mailport'}='';
- $cgiparams{'txt_mailuser'}='';
- $cgiparams{'txt_mailpass'}='';
- $cgiparams{'mail_tls'}='';
- $cgiparams{'txt_mailsender'}='';
- $cgiparams{'txt_recipient'}='';
- }
- if(!$errormessage){
+ # Check fields
+ $errormessage = &checkmailsettings();
+
+ if (!$errormessage) {
#clear hashes
%auth=();
%dma=();
#clear configfiles
open (TXT, ">$dmafile") or die("Could not open /var/ipfire/dma/dma.conf: $!\n");
- open (TXT1, ">$authfile") or die("Could not open /var/ipfire/dma/dma.conf: $!\n");
- open (TXT2, ">$mailfile") or die("Could not open /var/ipfire/dma/dma.conf: $!\n");
+ open (TXT1, ">$authfile") or die("Could not open /var/ipfire/dma/auth.conf: $!\n");
+ open (TXT2, ">$mailfile") or die("Could not open /var/ipfire/dma/mail.conf: $!\n");
close TXT2;
#Fill hashes with actual values
$mail{'SENDER'} = $cgiparams{'txt_mailsender'};
$mail{'RECIPIENT'} = $cgiparams{'txt_recipient'};
- $auth{'AUTHNAME'} = $cgiparams{'txt_mailuser'};
- $auth{'AUTHPASS'} = $cgiparams{'txt_mailpass'};
- $auth{'AUTHHOST'} = $cgiparams{'txt_mailserver'};
+ if ($cgiparams{'txt_mailuser'} && $cgiparams{'txt_mailpass'}) {
+ $auth{'AUTHNAME'} = $cgiparams{'txt_mailuser'};
+ $auth{'AUTHPASS'} = $cgiparams{'txt_mailpass'};
+ $auth{'AUTHHOST'} = $cgiparams{'txt_mailserver'};
+ print TXT1 "$auth{'AUTHNAME'}|$auth{'AUTHHOST'}:$auth{'AUTHPASS'}\n";
+ }
$dma{'SMARTHOST'} = $cgiparams{'txt_mailserver'};
$dma{'PORT'} = $cgiparams{'txt_mailport'};
print TXT "$k $v\n";
}
close TXT;
- print TXT1 "$auth{'AUTHNAME'}|$auth{'AUTHHOST'}:$auth{'AUTHPASS'}\n";
+ close TXT1;
close TXT2;
}else{
#If update set fieldvalues new
if($cgiparams{'update'} eq 'on'){
- $dma{'USEMAIL'}= 'on';
+ $mail{'USEMAIL'} = 'on';
+ $mail{'SENDER'} = $cgiparams{'txt_mailsender'};
+ $mail{'RECIPIENT'} = $cgiparams{'txt_recipient'};
$dma{'SMARTHOST'} = $cgiparams{'txt_mailserver'};
$dma{'PORT'} = $cgiparams{'txt_mailport'};
- $auth{'AUTHUSER'} = $cgiparams{'txt_mailuser'};
+ $auth{'AUTHNAME'} = $cgiparams{'txt_mailuser'};
$auth{'AUTHHOST'} = $cgiparams{'txt_mailserver'};
$auth{'AUTHPASS'} = $cgiparams{'txt_mailpass'};
+ $dma{'STARTTLS'} = $cgiparams{'mail_tls'};
}
#find preselections
$checked{'usemail'}{$mail{'USEMAIL'}} = 'CHECKED';
<div class="MAILSRV">
<table style='width:100%;'>
<tr>
- <td style='width:24em'>$Lang::tr{'email mailaddr'}</td>
+ <td>$Lang::tr{'email mailsender'}<img src='/blob.gif' alt='*' /></td>
+ <td><input type='text' name='txt_mailsender' value='$mail{'SENDER'}' style='width:22em;'></td>
+ </tr>
+ <tr>
+ <td>$Lang::tr{'email mailrcpt'}<img src='/blob.gif' alt='*' /></td>
+ <td><input type='text' name='txt_recipient' value='$mail{'RECIPIENT'}' style='width:22em;'></td>
+ </tr>
+ <tr>
+ <td style='width:24em'>$Lang::tr{'email mailaddr'}<img src='/blob.gif' alt='*' /></td>
<td><input type='text' name='txt_mailserver' value='$dma{'SMARTHOST'}' style='width:22em;'></td>
</tr>
<tr>
- <td>$Lang::tr{'email mailport'}</td>
+ <td>$Lang::tr{'email mailport'}<img src='/blob.gif' alt='*' /></td>
<td><input type='text' name='txt_mailport' value='$dma{'PORT'}' size='3'></td>
</tr>
<tr>
- <td>$Lang::tr{'email mailuser'}<img src='/blob.gif' alt='*' /></td>
+ <td>$Lang::tr{'email mailuser'}</td>
<td><input type='text' name='txt_mailuser' value='$auth{'AUTHNAME'}' style='width:22em;'></td>
</tr>
<tr>
- <td>$Lang::tr{'email mailpass'}<img src='/blob.gif' alt='*' /></td>
+ <td>$Lang::tr{'email mailpass'}</td>
<td><input type='password' name='txt_mailpass' value='$auth{'AUTHPASS'}' style='width:22em;' ></td>
</tr>
<tr>
<td>$Lang::tr{'email tls'}</td>
<td><input type='checkbox' name='mail_tls' $checked{'mail_tls'}{'on'}></td>
</tr>
- <tr>
- <td>$Lang::tr{'email mailsender'}</td>
- <td><input type='text' name='txt_mailsender' value='$mail{'SENDER'}' style='width:22em;'></td>
- </tr>
- <tr>
- <td>$Lang::tr{'email mailrcpt'}</td>
- <td><input type='text' name='txt_recipient' value='$mail{'RECIPIENT'}' style='width:22em;'></td>
- </tr>
END
- if (! -z $dmafile && $mail{'USEMAIL'} eq 'on'){
+ if (! -z $dmafile && $mail{'USEMAIL'} eq 'on' && !$errormessage){
print "<tr>";
print "<td></td>";
print "<td><input type='submit' name='ACTION' value='$Lang::tr{'email testmail'}'></td>";
#Check if mailserver is an ip address or a domain
if ($cgiparams{'txt_mailserver'} =~ /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/){
if (! &General::validip($cgiparams{'txt_mailserver'})){
- $errormessage.="$Lang::tr{'email invalid mailip'} $cgiparams{'txt_mailserver'}<br>";
+ $errormessage .= $Lang::tr{'email invalid mailip'} . "<br>";
}
}elsif(! &General::validfqdn($cgiparams{'txt_mailserver'})){
- $errormessage.="$Lang::tr{'email invalid mailfqdn'} $cgiparams{'txt_mailserver'}<br>";
+ $errormessage .= $Lang::tr{'email invalid mailfqdn'} . "<br>";
}
#Check valid mailserverport
if($cgiparams{'txt_mailport'} < 1 || $cgiparams{'txt_mailport'} > 65535){
- $errormessage.="$Lang::tr{'email invalid mailport'} $cgiparams{'txt_mailport'}<br>";
+ $errormessage .= $Lang::tr{'email invalid mailport'} . "<br>";
}
#Check valid sender
if(! $cgiparams{'txt_mailsender'}){
- $errormessage.="$Lang::tr{'email empty field'} $Lang::tr{'email mailsender'}<br>";
+ $errormessage .= $Lang::tr{'email empty field'} . "<br>";
}else{
if (! &General::validemail($cgiparams{'txt_mailsender'})){
- $errormessage.="<br>$Lang::tr{'email invalid'} $Lang::tr{'email mailsender'}<br>";
+ $errormessage .= "$Lang::tr{'email invalid'} $Lang::tr{'email mailsender'}<br>";
}
}
return $errormessage;
&Header::closebox();
}
}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-