mirror of
https://github.com/webmin/webmin.git
synced 2025-08-17 19:06:28 +00:00
Work on sender dependent addresses
This commit is contained in:
@ -2,8 +2,8 @@
|
||||
require 'postfix-lib.pl';
|
||||
@acl_pages = ("resource", "address_rewriting", "aliases", "general",
|
||||
"canonical", "virtual", "transport", "relocated", "header","body",
|
||||
"bcc", "local_delivery", "smtpd", "sasl", "client", "smtp",
|
||||
"rate", "debug", "ldap",
|
||||
"bcc", "dependent", "local_delivery", "smtpd", "sasl", "client",
|
||||
"smtp", "rate", "debug", "ldap",
|
||||
"master", "startstop", "mailq", "postfinger", "manual");
|
||||
|
||||
# Print the form for security options of postfix module
|
||||
|
@ -11,6 +11,7 @@ debug=1
|
||||
canonical=1
|
||||
virtual=1
|
||||
transport=1
|
||||
dependent=1
|
||||
relocated=1
|
||||
ldap=1
|
||||
mailq=1
|
||||
|
36
postfix/dependent.cgi
Executable file
36
postfix/dependent.cgi
Executable file
@ -0,0 +1,36 @@
|
||||
#!/usr/local/bin/perl
|
||||
#
|
||||
# postfix-module by Guillaume Cottenceau <gc@mandrakesoft.com>,
|
||||
# for webmin by Jamie Cameron
|
||||
#
|
||||
# Manages sender_dependent_default_transport_maps for Postfix
|
||||
|
||||
|
||||
require './postfix-lib.pl';
|
||||
|
||||
$access{'dependent'} || &error($text{'dependent_ecannot'});
|
||||
&ui_print_header(undef, $text{'dependent_title'}, "", "dependent");
|
||||
|
||||
# Start of transport form
|
||||
print &ui_form_start("save_opts_dependent.cgi");
|
||||
print &ui_table_start($text{'dependent_title'}, "width=100%", 2);
|
||||
|
||||
&option_mapfield("sender_dependent_default_transport_maps", 60);
|
||||
|
||||
print &ui_table_end();
|
||||
print &ui_form_end([ [ undef, $text{'opts_save'} ] ]);
|
||||
|
||||
# Transport map contents
|
||||
print &ui_hr();
|
||||
if (&get_current_value("sender_dependent_default_transport_maps") eq "")
|
||||
{
|
||||
print $text{'no_map'},"<p>\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
&generate_map_edit("sender_dependent_default_transport_maps",
|
||||
$text{'map_click'}." ".
|
||||
&hlink($text{'help_map_format'}, "dependent"));
|
||||
}
|
||||
|
||||
&ui_print_footer("", $text{'index_return'});
|
10
postfix/help/dependent.html
Normal file
10
postfix/help/dependent.html
Normal file
@ -0,0 +1,10 @@
|
||||
<header>Sender dependent addresses</header>
|
||||
|
||||
The optional sender dependent addresses file allows the relay host for
|
||||
for outgoing SMTP connections to be set on a per-address or per-domain basis. The left
|
||||
hand side of each entry can be either a full email address like
|
||||
<tt>foo@bar.com</tt>, or just a domain like <tt>@bar.com</tt>. The right hand
|
||||
side must be the hostname or IP address of a mail server to relay mail though.
|
||||
<p>
|
||||
|
||||
<hr>
|
@ -85,7 +85,9 @@ if ($config{'index_check'} && ($err = &check_postfix())) {
|
||||
exit;
|
||||
}
|
||||
|
||||
@onames = ( "general", "address_rewriting", "aliases", "canonical", "virtual", "transport", "relocated", "header", "body", "bcc",
|
||||
@onames = ( "general", "address_rewriting", "aliases", "canonical",
|
||||
"virtual", "transport", "relocated", "header", "body", "bcc",
|
||||
$postfix_version >= 2.7 ? ( "dependent" ) : ( ),
|
||||
"local_delivery", "resource",
|
||||
"smtpd", "smtp", "sasl", "client",
|
||||
"rate", "debug", $postfix_version > 2 ? ( ) : ( "ldap" ),
|
||||
|
@ -636,6 +636,11 @@ body_eregexp=The body checks map must be in the format <tt>regexp:</tt><i>filena
|
||||
opts_body_checks=Message body checking tables
|
||||
body_return=body checks
|
||||
|
||||
dependent_ecannot=Sender Dependent Addresses
|
||||
dependent_ecannot=You are not allowed to edit sender dependent addresses
|
||||
dependent_eregexp=The sender dependent addresses map must be in the format <tt>regexp:</tt><i>filename</i>
|
||||
dependent_return=sender dependent addresses
|
||||
|
||||
manual_title=Edit Map File
|
||||
manual_file=Select a map file to edit:
|
||||
manual_change=Change
|
||||
@ -712,6 +717,7 @@ log_canonical=Changing canonical mapping options
|
||||
log_virtual=Changed virtual domain options
|
||||
log_bcc=Changed BCC map options
|
||||
log_transport=Changed transport mapping options
|
||||
log_dependent=Changed sender dependent address options
|
||||
log_relocated=Changed relocate mapping options
|
||||
log_header=Changed header check options
|
||||
log_body=Changed body check options
|
||||
@ -782,6 +788,11 @@ log_flushq=Flushed mail queue
|
||||
log_backend=Updated configuration file for map $1
|
||||
log_sasl=Changed SMTP authentication and encryption
|
||||
log_client=Changed SMTP client restrictions
|
||||
log_sender_dependent_default_transport_maps_create=Created sender dependent address $1
|
||||
log_sender_dependent_default_transport_maps_modify=Modified sender dependent address $1
|
||||
log_sender_dependent_default_transport_maps_delete=Deleted sender dependent address $1
|
||||
log_delete_sender_dependent_default_transport_mapss=Deleted $1 sender dependent addresses
|
||||
log_manual_sender_dependent_default_transport_mapss=Manually edited sender dependent addresses in $1
|
||||
|
||||
sasl_title=SMTP Authentication And Encryption
|
||||
opts_smtpd_sasl_auth_enable=Enable SASL SMTP authentication?
|
||||
|
@ -655,6 +655,13 @@ sub regenerate_transport_table
|
||||
®enerate_any_table("transport_maps");
|
||||
}
|
||||
|
||||
# regenerate_dependent_table
|
||||
#
|
||||
sub regenerate_dependent_table
|
||||
{
|
||||
®enerate_any_table("sender_dependent_default_transport_maps");
|
||||
}
|
||||
|
||||
|
||||
# regenerate_any_table($parameter_where_to_find_the_table_names,
|
||||
# [ &force-files ], [ after-tag ])
|
||||
@ -1660,6 +1667,9 @@ elsif ($map_name =~ /sender_bcc/) { &redirect("bcc.cgi?mode=sender"); }
|
||||
elsif ($map_name =~ /recipient_bcc/) { &redirect("bcc.cgi?mode=recipient"); }
|
||||
elsif ($map_name =~ /^smtpd_client_restrictions:/) { &redirect("client.cgi"); }
|
||||
elsif ($map_name =~ /relay_recipient_maps/) { &redirect("smtpd.cgi"); }
|
||||
elsif ($map_name =~ /sender_dependent_default_transport_maps/) {
|
||||
redirect("dependent.cgi");
|
||||
}
|
||||
else { &redirect(""); }
|
||||
}
|
||||
|
||||
@ -1680,6 +1690,9 @@ if ($map_name =~ /smtpd_client_restrictions:(\S+)/) {
|
||||
if ($map_name =~ /relay_recipient_maps/) {
|
||||
®enerate_relay_recipient_table();
|
||||
}
|
||||
if ($map_name =~ /sender_dependent_default_transport_maps/) {
|
||||
®enerate_dependent_table();
|
||||
}
|
||||
}
|
||||
|
||||
# mailq_table(&qfiles)
|
||||
|
35
postfix/save_opts_dependent.cgi
Executable file
35
postfix/save_opts_dependent.cgi
Executable file
@ -0,0 +1,35 @@
|
||||
#!/usr/local/bin/perl
|
||||
#
|
||||
# postfix-module by Guillaume Cottenceau <gc@mandrakesoft.com>,
|
||||
# for webmin by Jamie Cameron
|
||||
#
|
||||
# Save Postfix options ; special because for sender transport maps
|
||||
|
||||
|
||||
require './postfix-lib.pl';
|
||||
|
||||
&ReadParse();
|
||||
|
||||
|
||||
$access{'dependent'} || &error($text{'dependent_ecannot'});
|
||||
|
||||
&error_setup($text{'opts_err'});
|
||||
|
||||
|
||||
&lock_postfix_files();
|
||||
&before_save();
|
||||
&save_options(\%in);
|
||||
&ensure_map("sender_dependent_default_transport_maps");
|
||||
&after_save();
|
||||
&unlock_postfix_files();
|
||||
|
||||
|
||||
®enerate_dependent_table();
|
||||
|
||||
&reload_postfix();
|
||||
|
||||
&webmin_log("dependent");
|
||||
&redirect("");
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user