Skip to content

Commit b98be2e

Browse files
author
Marius Cramer
committed
Merge branch 'master' into 'master'
Outgoing email copy added ability to have outgoing email cc'd to another email address See merge request !127
2 parents f78f1e5 + 32237e9 commit b98be2e

File tree

9 files changed

+44
-3
lines changed

9 files changed

+44
-3
lines changed

install/lib/installer_base.lib.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -682,6 +682,9 @@ public function configure_postfix($options = '') {
682682

683683
//* mysql-virtual_relayrecipientmaps.cf
684684
$this->process_postfix_config('mysql-virtual_relayrecipientmaps.cf');
685+
686+
//* mysql-virtual_outgoing_bcc.cf
687+
$this->process_postfix_config('mysql-virtual_outgoing_bcc.cf');
685688

686689
//* postfix-dkim
687690
$full_file_name=$config_dir.'/tag_as_originating.re';

install/sql/ispconfig3.sql

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -903,6 +903,7 @@ CREATE TABLE `mail_user` (
903903
`maildir` varchar(255) NOT NULL default '',
904904
`quota` bigint(20) NOT NULL default '-1',
905905
`cc` varchar(255) NOT NULL default '',
906+
`sender_cc` varchar(255) NOT NULL default '',
906907
`homedir` varchar(255) NOT NULL default '',
907908
`autoresponder` enum('n','y') NOT NULL default 'n',
908909
`autoresponder_start_date` datetime NOT NULL default '0000-00-00 00:00:00',

install/tpl/debian_postfix.conf.master

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ virtual_mailbox_maps = proxy:mysql:{config_dir}/mysql-virtual_mailboxes.cf
77
virtual_mailbox_base = {vmail_mailbox_base}
88
virtual_uid_maps = mysql:/etc/postfix/mysql-virtual_uids.cf
99
virtual_gid_maps = mysql:/etc/postfix/mysql-virtual_gids.cf
10+
sender_bcc_maps = proxy:mysql:{config_dir}/mysql-virtual_outgoing_bcc.cf
1011
inet_protocols=all
1112
smtpd_sasl_auth_enable = yes
1213
broken_sasl_auth_clients = yes
@@ -19,7 +20,7 @@ smtpd_tls_key_file = {config_dir}/smtpd.key
1920
transport_maps = hash:/var/lib/mailman/data/transport-mailman, proxy:mysql:{config_dir}/mysql-virtual_transports.cf
2021
relay_domains = mysql:{config_dir}/mysql-virtual_relaydomains.cf
2122
relay_recipient_maps = mysql:{config_dir}/mysql-virtual_relayrecipientmaps.cf
22-
proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks
23+
proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $sender_bcc_maps $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks
2324
smtpd_sender_restrictions = check_sender_access mysql:{config_dir}/mysql-virtual_sender.cf regexp:{config_dir}/tag_as_originating.re, permit_mynetworks, check_sender_access regexp:{config_dir}/tag_as_foreign.re
2425
smtpd_client_restrictions = check_client_access mysql:{config_dir}/mysql-virtual_client.cf
2526
smtpd_client_message_rate_limit = 100

install/tpl/fedora_postfix.conf.master

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ virtual_mailbox_maps = proxy:mysql:{config_dir}/mysql-virtual_mailboxes.cf
55
virtual_mailbox_base = {vmail_mailbox_base}
66
virtual_uid_maps = mysql:/etc/postfix/mysql-virtual_uids.cf
77
virtual_gid_maps = mysql:/etc/postfix/mysql-virtual_gids.cf
8+
sender_bcc_maps = proxy:mysql:{config_dir}/mysql-virtual_outgoing_bcc.cf
89
smtpd_sasl_auth_enable = yes
910
broken_sasl_auth_clients = yes
1011
smtpd_sasl_authenticated_header = yes
@@ -16,7 +17,7 @@ smtpd_tls_key_file = {config_dir}/smtpd.key
1617
transport_maps = hash:/var/lib/mailman/data/transport-mailman, proxy:mysql:{config_dir}/mysql-virtual_transports.cf
1718
relay_domains = mysql:{config_dir}/mysql-virtual_relaydomains.cf
1819
relay_recipient_maps = mysql:{config_dir}/mysql-virtual_relayrecipientmaps.cf
19-
proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks
20+
proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $sender_bcc_maps $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks
2021
smtpd_sender_restrictions = check_sender_access mysql:{config_dir}/mysql-virtual_sender.cf regexp:{config_dir}/tag_as_originating.re, permit_mynetworks, check_sender_access regexp:{config_dir}/tag_as_foreign.re
2122
smtpd_client_restrictions = check_client_access mysql:{config_dir}/mysql-virtual_client.cf
2223
smtpd_client_message_rate_limit = 100
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
user = {mysql_server_ispconfig_user}
2+
password = {mysql_server_ispconfig_password}
3+
dbname = {mysql_server_database}
4+
table = mail_user
5+
select_field = sender_cc
6+
where_field = email
7+
additional_conditions = and postfix = 'y' and disabledeliver = 'n' and disables$
8+
hosts = 127.0.0.1

install/tpl/opensuse_postfix.conf.master

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ virtual_mailbox_maps = proxy:mysql:{config_dir}/mysql-virtual_mailboxes.cf
55
virtual_mailbox_base = {vmail_mailbox_base}
66
virtual_uid_maps = mysql:/etc/postfix/mysql-virtual_uids.cf
77
virtual_gid_maps = mysql:/etc/postfix/mysql-virtual_gids.cf
8+
sender_bcc_maps = proxy:mysql:{config_dir}/mysql-virtual_outgoing_bcc.cf
89
smtpd_sasl_auth_enable = yes
910
broken_sasl_auth_clients = yes
1011
smtpd_sasl_authenticated_header = yes
@@ -16,7 +17,7 @@ smtpd_tls_key_file = {config_dir}/smtpd.key
1617
transport_maps = hash:/var/lib/mailman/data/transport-mailman, proxy:mysql:{config_dir}/mysql-virtual_transports.cf
1718
relay_domains = mysql:{config_dir}/mysql-virtual_relaydomains.cf
1819
relay_recipient_maps = mysql:{config_dir}/mysql-virtual_relayrecipientmaps.cf
19-
proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks
20+
proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $sender_bcc_maps $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks
2021
smtpd_sender_restrictions = check_sender_access mysql:{config_dir}/mysql-virtual_sender.cf regexp:{config_dir}/tag_as_originating.re, permit_mynetworks, check_sender_access regexp:{config_dir}/tag_as_foreign.re
2122
smtpd_client_restrictions = check_client_access mysql:{config_dir}/mysql-virtual_client.cf
2223
smtpd_client_message_rate_limit = 100

interface/web/mail/form/mail_user.tform.php

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,25 @@
176176
'width' => '30',
177177
'maxlength' => '255'
178178
),
179+
'sender_cc' => array (
180+
'datatype' => 'VARCHAR',
181+
'formtype' => 'TEXT',
182+
'filters' => array( 0 => array( 'event' => 'SAVE',
183+
'type' => 'IDNTOASCII'),
184+
1 => array( 'event' => 'SHOW',
185+
'type' => 'IDNTOUTF8'),
186+
2 => array( 'event' => 'SAVE',
187+
'type' => 'TOLOWER')
188+
),
189+
'validators' => array ( 0 => array ( 'type' => 'REGEX',
190+
'regex'=>'/^(\w+[\w\.\-\+]*\w{0,}@\w+[\w.-]*\.[a-z\-]{2,10}){0,1}(,\s*\w+[\w\.\-\+]*\w{0,}@\w+[\w.-]*\.[a-z\-]{2,10}){0,}$/i',
191+
'errmsg'=> 'sender_cc_error_isemail'),
192+
),
193+
'default' => '',
194+
'value' => '',
195+
'width' => '30',
196+
'maxlength' => '255'
197+
),
179198
'maildir' => array (
180199
'datatype' => 'VARCHAR',
181200
'formtype' => 'TEXT',

interface/web/mail/lib/lang/en_mail_user.lng

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,9 @@ $wb["name_txt"] = 'Name';
3737
$wb["name_optional_txt"] = '(Optional)';
3838
$wb['autoresponder_active'] = 'Enable the autoresponder';
3939
$wb['cc_txt'] = 'Send copy to';
40+
$wb['sender_cc_txt'] = 'Send outgoing copy to';
4041
$wb['cc_error_isemail'] = 'The -Send copy to- field does not contain a valid email address';
42+
$wb['sender_cc_error_isemail'] = 'The -Send outgoing copy to- field does not contain a valid email address';
4143
$wb['domain_txt'] = 'Domain';
4244
$wb['now_txt']='Now';
4345
$wb['login_error_unique'] = 'Login is already taken.';
@@ -56,4 +58,5 @@ $wb['weekly_backup_txt'] = 'Weekly';
5658
$wb['monthly_backup_txt'] = 'Monthly';
5759
$wb['email_error_isascii'] = 'Please do not use special unicode characters for your password. This could lead to problems with your mail client.';
5860
$wb['cc_note_txt'] = '(Separate multiple email addresses with commas)';
61+
$wb['sender_cc_note_txt'] = '(Separate multiple email addresses with commas)';
5962
?>

interface/web/mail/templates/mail_user_mailbox_edit.htm

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,10 @@ <h2><tmpl_var name="list_head_txt"></h2>
4444
<label for="name">{tmpl_var name='cc_txt'}</label>
4545
<input name="cc" id="cc" value="{tmpl_var name='cc'}" size="30" maxlength="255" type="text" class="textInput" /> &nbsp; {tmpl_var name='name_optional_txt'} {tmpl_var name='cc_note_txt'}
4646
</div>
47+
<div class="ctrlHolder">
48+
<label for="sender_name">{tmpl_var name='sender_cc_txt'}</label>
49+
<input name="sender_cc" id="sender_cc" value="{tmpl_var name='sender_cc'}" size="30" maxlength="255" type="text" class="textInput" /> &nbsp; {tmpl_var name='name_optional_txt'} {tmpl_var name='sender_cc_note_txt'}
50+
</div>
4751
<div class="ctrlHolder">
4852
<label for="policy">{tmpl_var name='policy_txt'}</label>
4953
<select name="policy" id="policy" class="selectInput">

0 commit comments

Comments
 (0)