Skip to content

Commit f8cc822

Browse files
committed
sender_cc should only have one email address. fixes #5298
1 parent 4339dba commit f8cc822

27 files changed

+30
-131
lines changed

install/tpl/mysql-virtual_outgoing_bcc.cf.master

Lines changed: 2 additions & 103 deletions
Original file line numberDiff line numberDiff line change
@@ -7,111 +7,10 @@ query = SELECT sender_cc FROM (
77
SUBSTRING_INDEX(sender_cc, ',', 1) AS sender_cc
88
FROM mail_user WHERE email = '%s' AND disablesmtp = 'n' AND sender_cc != '' AND server_id = {server_id}
99
UNION
10-
SELECT @num_sender_cc := 1 + LENGTH(sender_cc) - LENGTH(REPLACE(sender_cc, ',', '')) AS num_sender_cc,
11-
IF(@num_sender_cc > 1, SUBSTRING_INDEX(SUBSTRING_INDEX(sender_cc, ',', 2), ',', -1), '') AS sender_cc
12-
FROM mail_user WHERE email = '%s' AND disablesmtp = 'n' AND sender_cc != '' AND server_id = {server_id}
13-
UNION
14-
SELECT @num_sender_cc := 1 + LENGTH(sender_cc) - LENGTH(REPLACE(sender_cc, ',', '')) AS num_sender_cc,
15-
IF(@num_sender_cc > 2, SUBSTRING_INDEX(SUBSTRING_INDEX(sender_cc, ',', 3), ',', -1), '') AS sender_cc
16-
FROM mail_user WHERE email = '%s' AND disablesmtp = 'n' AND sender_cc != '' AND server_id = {server_id}
17-
UNION
18-
SELECT @num_sender_cc := 1 + LENGTH(sender_cc) - LENGTH(REPLACE(sender_cc, ',', '')) AS num_sender_cc,
19-
IF(@num_sender_cc > 3, SUBSTRING_INDEX(SUBSTRING_INDEX(sender_cc, ',', 4), ',', -1), '') AS sender_cc
20-
FROM mail_user WHERE email = '%s' AND disablesmtp = 'n' AND sender_cc != '' AND server_id = {server_id}
21-
UNION
22-
SELECT @num_sender_cc := 1 + LENGTH(sender_cc) - LENGTH(REPLACE(sender_cc, ',', '')) AS num_sender_cc,
23-
IF(@num_sender_cc > 4, SUBSTRING_INDEX(SUBSTRING_INDEX(sender_cc, ',', 5), ',', -1), '') AS sender_cc
24-
FROM mail_user WHERE email = '%s' AND disablesmtp = 'n' AND sender_cc != '' AND server_id = {server_id}
25-
UNION
26-
SELECT @num_sender_cc := 1 + LENGTH(sender_cc) - LENGTH(REPLACE(sender_cc, ',', '')) AS num_sender_cc,
27-
IF(@num_sender_cc > 5, SUBSTRING_INDEX(SUBSTRING_INDEX(sender_cc, ',', 6), ',', -1), '') AS sender_cc
28-
FROM mail_user WHERE email = '%s' AND disablesmtp = 'n' AND sender_cc != '' AND server_id = {server_id}
29-
UNION
30-
SELECT @num_sender_cc := 1 + LENGTH(sender_cc) - LENGTH(REPLACE(sender_cc, ',', '')) AS num_sender_cc,
31-
IF(@num_sender_cc > 6, SUBSTRING_INDEX(SUBSTRING_INDEX(sender_cc, ',', 7), ',', -1), '') AS sender_cc
32-
FROM mail_user WHERE email = '%s' AND disablesmtp = 'n' AND sender_cc != '' AND server_id = {server_id}
33-
UNION
34-
SELECT @num_sender_cc := 1 + LENGTH(sender_cc) - LENGTH(REPLACE(sender_cc, ',', '')) AS num_sender_cc,
35-
IF(@num_sender_cc > 7, SUBSTRING_INDEX(SUBSTRING_INDEX(sender_cc, ',', 8), ',', -1), '') AS sender_cc
36-
FROM mail_user WHERE email = '%s' AND disablesmtp = 'n' AND sender_cc != '' AND server_id = {server_id}
37-
UNION
38-
SELECT @num_sender_cc := 1 + LENGTH(sender_cc) - LENGTH(REPLACE(sender_cc, ',', '')) AS num_sender_cc,
39-
IF(@num_sender_cc > 8, SUBSTRING_INDEX(SUBSTRING_INDEX(sender_cc, ',', 9), ',', -1), '') AS sender_cc
40-
FROM mail_user WHERE email = '%s' AND disablesmtp = 'n' AND sender_cc != '' AND server_id = {server_id}
41-
UNION
42-
SELECT @num_sender_cc := 1 + LENGTH(sender_cc) - LENGTH(REPLACE(sender_cc, ',', '')) AS num_sender_cc,
43-
IF(@num_sender_cc > 9, SUBSTRING_INDEX(SUBSTRING_INDEX(sender_cc, ',', 10), ',', -1), '') AS sender_cc
44-
FROM mail_user WHERE email = '%s' AND disablesmtp = 'n' AND sender_cc != '' AND server_id = {server_id}
45-
) table1 WHERE sender_cc != ''
46-
UNION
47-
SELECT sender_cc FROM (
4810
SELECT @num_sender_cc := 1 + LENGTH(u.sender_cc) - LENGTH(REPLACE(u.sender_cc, ',', '')) AS num_sender_cc,
4911
SUBSTRING_INDEX(u.sender_cc, ',', 1) AS sender_cc
5012
FROM mail_user u, mail_forwarding f
5113
WHERE f.destination REGEXP CONCAT( '(^|\\n)[[:blank:]]*,?[[:blank:]]*', u.email, '[[:blank:]]*,?[[:blank:]]*(\\r?\\n|$)' )
5214
AND u.disablesmtp = 'n' AND u.sender_cc != '' AND u.server_id = {server_id}
53-
AND f.source = '%s' AND f.active = 'y' AND f.allow_send_as = 'y' AND f.server_id = {server_id}
54-
UNION
55-
SELECT @num_sender_cc := 1 + LENGTH(u.sender_cc) - LENGTH(REPLACE(u.sender_cc, ',', '')) AS num_sender_cc,
56-
IF(@num_sender_cc > 1, SUBSTRING_INDEX(SUBSTRING_INDEX(u.sender_cc, ',', 2), ',', -1), '') AS sender_cc
57-
FROM mail_user u, mail_forwarding f
58-
WHERE f.destination REGEXP CONCAT( '(^|\\n)[[:blank:]]*,?[[:blank:]]*', u.email, '[[:blank:]]*,?[[:blank:]]*(\\r?\\n|$)' )
59-
AND u.disablesmtp = 'n' AND u.sender_cc != '' AND u.server_id = {server_id}
60-
AND f.source = '%s' AND f.active = 'y' AND f.allow_send_as = 'y' AND f.server_id = {server_id}
61-
UNION
62-
SELECT @num_sender_cc := 1 + LENGTH(u.sender_cc) - LENGTH(REPLACE(u.sender_cc, ',', '')) AS num_sender_cc,
63-
IF(@num_sender_cc > 2, SUBSTRING_INDEX(SUBSTRING_INDEX(u.sender_cc, ',', 3), ',', -1), '') AS sender_cc
64-
FROM mail_user u, mail_forwarding f
65-
WHERE f.destination REGEXP CONCAT( '(^|\\n)[[:blank:]]*,?[[:blank:]]*', u.email, '[[:blank:]]*,?[[:blank:]]*(\\r?\\n|$)' )
66-
AND u.disablesmtp = 'n' AND u.sender_cc != '' AND u.server_id = {server_id}
67-
AND f.source = '%s' AND f.active = 'y' AND f.allow_send_as = 'y' AND f.server_id = {server_id}
68-
UNION
69-
SELECT @num_sender_cc := 1 + LENGTH(u.sender_cc) - LENGTH(REPLACE(u.sender_cc, ',', '')) AS num_sender_cc,
70-
IF(@num_sender_cc > 3, SUBSTRING_INDEX(SUBSTRING_INDEX(u.sender_cc, ',', 4), ',', -1), '') AS sender_cc
71-
FROM mail_user u, mail_forwarding f
72-
WHERE f.destination REGEXP CONCAT( '(^|\\n)[[:blank:]]*,?[[:blank:]]*', u.email, '[[:blank:]]*,?[[:blank:]]*(\\r?\\n|$)' )
73-
AND u.disablesmtp = 'n' AND u.sender_cc != '' AND u.server_id = {server_id}
74-
AND f.source = '%s' AND f.active = 'y' AND f.allow_send_as = 'y' AND f.server_id = {server_id}
75-
UNION
76-
SELECT @num_sender_cc := 1 + LENGTH(u.sender_cc) - LENGTH(REPLACE(u.sender_cc, ',', '')) AS num_sender_cc,
77-
IF(@num_sender_cc > 4, SUBSTRING_INDEX(SUBSTRING_INDEX(u.sender_cc, ',', 5), ',', -1), '') AS sender_cc
78-
FROM mail_user u, mail_forwarding f
79-
WHERE f.destination REGEXP CONCAT( '(^|\\n)[[:blank:]]*,?[[:blank:]]*', u.email, '[[:blank:]]*,?[[:blank:]]*(\\r?\\n|$)' )
80-
AND u.disablesmtp = 'n' AND u.sender_cc != '' AND u.server_id = {server_id}
81-
AND f.source = '%s' AND f.active = 'y' AND f.allow_send_as = 'y' AND f.server_id = {server_id}
82-
UNION
83-
SELECT @num_sender_cc := 1 + LENGTH(u.sender_cc) - LENGTH(REPLACE(u.sender_cc, ',', '')) AS num_sender_cc,
84-
IF(@num_sender_cc > 5, SUBSTRING_INDEX(SUBSTRING_INDEX(u.sender_cc, ',', 6), ',', -1), '') AS sender_cc
85-
FROM mail_user u, mail_forwarding f
86-
WHERE f.destination REGEXP CONCAT( '(^|\\n)[[:blank:]]*,?[[:blank:]]*', u.email, '[[:blank:]]*,?[[:blank:]]*(\\r?\\n|$)' )
87-
AND u.disablesmtp = 'n' AND u.sender_cc != '' AND u.server_id = {server_id}
88-
AND f.source = '%s' AND f.active = 'y' AND f.allow_send_as = 'y' AND f.server_id = {server_id}
89-
UNION
90-
SELECT @num_sender_cc := 1 + LENGTH(u.sender_cc) - LENGTH(REPLACE(u.sender_cc, ',', '')) AS num_sender_cc,
91-
IF(@num_sender_cc > 6, SUBSTRING_INDEX(SUBSTRING_INDEX(u.sender_cc, ',', 7), ',', -1), '') AS sender_cc
92-
FROM mail_user u, mail_forwarding f
93-
WHERE f.destination REGEXP CONCAT( '(^|\\n)[[:blank:]]*,?[[:blank:]]*', u.email, '[[:blank:]]*,?[[:blank:]]*(\\r?\\n|$)' )
94-
AND u.disablesmtp = 'n' AND u.sender_cc != '' AND u.server_id = {server_id}
95-
AND f.source = '%s' AND f.active = 'y' AND f.allow_send_as = 'y' AND f.server_id = {server_id}
96-
UNION
97-
SELECT @num_sender_cc := 1 + LENGTH(u.sender_cc) - LENGTH(REPLACE(u.sender_cc, ',', '')) AS num_sender_cc,
98-
IF(@num_sender_cc > 7, SUBSTRING_INDEX(SUBSTRING_INDEX(u.sender_cc, ',', 8), ',', -1), '') AS sender_cc
99-
FROM mail_user u, mail_forwarding f
100-
WHERE f.destination REGEXP CONCAT( '(^|\\n)[[:blank:]]*,?[[:blank:]]*', u.email, '[[:blank:]]*,?[[:blank:]]*(\\r?\\n|$)' )
101-
AND u.disablesmtp = 'n' AND u.sender_cc != '' AND u.server_id = {server_id}
102-
AND f.source = '%s' AND f.active = 'y' AND f.allow_send_as = 'y' AND f.server_id = {server_id}
103-
UNION
104-
SELECT @num_sender_cc := 1 + LENGTH(u.sender_cc) - LENGTH(REPLACE(u.sender_cc, ',', '')) AS num_sender_cc,
105-
IF(@num_sender_cc > 8, SUBSTRING_INDEX(SUBSTRING_INDEX(u.sender_cc, ',', 9), ',', -1), '') AS sender_cc
106-
FROM mail_user u, mail_forwarding f
107-
WHERE f.destination REGEXP CONCAT( '(^|\\n)[[:blank:]]*,?[[:blank:]]*', u.email, '[[:blank:]]*,?[[:blank:]]*(\\r?\\n|$)' )
108-
AND u.disablesmtp = 'n' AND u.sender_cc != '' AND u.server_id = {server_id}
109-
AND f.source = '%s' AND f.active = 'y' AND f.allow_send_as = 'y' AND f.server_id = {server_id}
110-
UNION
111-
SELECT @num_sender_cc := 1 + LENGTH(u.sender_cc) - LENGTH(REPLACE(u.sender_cc, ',', '')) AS num_sender_cc,
112-
IF(@num_sender_cc > 9, SUBSTRING_INDEX(SUBSTRING_INDEX(u.sender_cc, ',', 10), ',', -1), '') AS sender_cc
113-
FROM mail_user u, mail_forwarding f
114-
WHERE f.destination REGEXP CONCAT( '(^|\\n)[[:blank:]]*,?[[:blank:]]*', u.email, '[[:blank:]]*,?[[:blank:]]*(\\r?\\n|$)' )
115-
AND u.disablesmtp = 'n' AND u.sender_cc != '' AND u.server_id = {server_id}
116-
AND f.source = '%s' AND f.active = 'y' AND f.allow_send_as = 'y' AND f.server_id = {server_id}
117-
) table2 WHERE sender_cc != ''
15+
AND f.source = '%s' AND f.allow_send_as = 'y' AND f.active = 'y' AND f.server_id = {server_id}
16+
) table1 WHERE sender_cc != '' LIMIT 1

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -199,14 +199,14 @@
199199
2 => array( 'event' => 'SAVE',
200200
'type' => 'TOLOWER')
201201
),
202-
'validators' => array ( 0 => array ( 'type' => 'REGEX',
203-
'regex'=>'/^(\w+[\w\.\-\+]*\w{0,}@\w+[\w.-]*\.[a-z\-]{2,63}){0,1}(,\s*\w+[\w\.\-\+]*\w{0,}@\w+[\w.-]*\.[a-z\-]{2,63}){0,}$/i',
202+
'validators' => array ( 0 => array ( 'type' => 'ISEMAIL',
204203
'errmsg'=> 'sender_cc_error_isemail'),
205204
),
206205
'default' => '',
207206
'value' => '',
208207
'width' => '30',
209-
'maxlength' => '255'
208+
'maxlength' => '255',
209+
'searchable' => 2
210210
),
211211
'maildir' => array (
212212
'datatype' => 'VARCHAR',

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ $wb['tooltip_disabledeliver_txt'] = 'Disables delivery to INBOX, and processing
6464
$wb['autoresponder_start_date_is_required'] = 'Start date must be set when Autoresponder is enabled.';
6565
$wb['sender_cc_txt'] = 'Send outgoing BCC to';
6666
$wb['sender_cc_error_isemail'] = 'The -Send outgoing copy to- field does not contain a valid email address';
67-
$wb['sender_cc_note_txt'] = '(Separate multiple email addresses with commas)';
67+
$wb['sender_cc_note_txt'] = '(One email address only)';
6868
$wb['password_click_to_set_txt'] = 'Click to set';
6969
$wb['purge_trash_days_txt'] = 'Purge Trash automatically after X days';
7070
$wb['tooltip_purge_trash_days_txt'] = '0 = disabled';

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ $wb['no_backup_txt'] = 'No backup';
6464
$wb['daily_backup_txt'] = 'Daily';
6565
$wb['weekly_backup_txt'] = 'Weekly';
6666
$wb['monthly_backup_txt'] = 'Monthly';
67-
$wb['sender_cc_note_txt'] = '(Separate multiple email addresses with commas)';
67+
$wb['sender_cc_note_txt'] = '(One email address only)';
6868
$wb['password_click_to_set_txt'] = 'Click to set';
6969
$wb['purge_trash_days_txt'] = 'Purge Trash automatically after X days';
7070
$wb['tooltip_purge_trash_days_txt'] = '0 = disabled';

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ $wb['weekly_backup_txt'] = 'Semanal';
6565
$wb['monthly_backup_txt'] = 'Mensal';
6666
$wb['email_error_isascii'] = 'Por favor, não use caracteres especiais para a senha. Isto poderá causar problemas no cliente de e-mail.';
6767
$wb['cc_note_txt'] = '(separar múltiplos endereços de e-mails com vírgulas)';
68-
$wb['sender_cc_note_txt'] = '(separar múltiplos endereços de e-mails com vírgulas)';
68+
$wb['sender_cc_note_txt'] = '(One email address only)';
6969
$wb['purge_trash_days_txt'] = 'Purge Trash automatically after X days';
7070
$wb['tooltip_purge_trash_days_txt'] = '0 = disabled';
7171
$wb['purge_junk_days_txt'] = 'Purge Junk automatically after X days';

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ $wb['no_backup_txt'] = 'No backup';
6464
$wb['daily_backup_txt'] = 'Daily';
6565
$wb['weekly_backup_txt'] = 'Weekly';
6666
$wb['monthly_backup_txt'] = 'Monthly';
67-
$wb['sender_cc_note_txt'] = '(Separate multiple email addresses with commas)';
67+
$wb['sender_cc_note_txt'] = '(One email address only)';
6868
$wb['password_click_to_set_txt'] = 'Click to set';
6969
$wb['purge_trash_days_txt'] = 'Purge Trash automatically after X days';
7070
$wb['tooltip_purge_trash_days_txt'] = '0 = disabled';

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ $wb['no_backup_txt'] = 'Žádná záloha';
6464
$wb['daily_backup_txt'] = 'Denní';
6565
$wb['weekly_backup_txt'] = 'Týdenní';
6666
$wb['monthly_backup_txt'] = 'Měsíční';
67-
$wb['sender_cc_note_txt'] = '(Při posílání kopií na více e-mailových adres, oddělte čárkami.) ';
67+
$wb['sender_cc_note_txt'] = '(One email address only)';
6868
$wb['password_click_to_set_txt'] = 'Pro nastavení klikni zde';
6969
$wb['purge_trash_days_txt'] = 'Purge Trash automatically after X days';
7070
$wb['tooltip_purge_trash_days_txt'] = '0 = disabled';

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ $wb['cc_note_txt'] = '(Mehrere E-Mail-Adressen mit Kommas trennen)';
6464
$wb['autoresponder_start_date_is_required'] = 'Startdatum muss angegeben werden.';
6565
$wb['sender_cc_txt'] = 'Kopie ausgehender Emails senden an (BCC)';
6666
$wb['sender_cc_error_isemail'] = '-Kopie ausgehender Emails senden an- Feld enthält keine gültige Emailadresse';
67-
$wb['sender_cc_note_txt'] = '(Mehrere E-Mail-Adressen mit Kommas trennen)';
67+
$wb['sender_cc_note_txt'] = '(One email address only)';
6868
$wb['password_click_to_set_txt'] = 'Click to set';
6969
$wb['purge_trash_days_txt'] = 'Purge Trash automatically after X days';
7070
$wb['tooltip_purge_trash_days_txt'] = '0 = disabled';

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ $wb['no_backup_txt'] = 'No backup';
6565
$wb['daily_backup_txt'] = 'Daily';
6666
$wb['weekly_backup_txt'] = 'Weekly';
6767
$wb['monthly_backup_txt'] = 'Monthly';
68-
$wb['sender_cc_note_txt'] = '(Separate multiple email addresses with commas)';
68+
$wb['sender_cc_note_txt'] = '(One email address only)';
6969
$wb['purge_trash_days_txt'] = 'Purge Trash automatically after X days';
7070
$wb['tooltip_purge_trash_days_txt'] = '0 = disabled';
7171
$wb['purge_junk_days_txt'] = 'Purge Junk automatically after X days';

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ $wb['no_backup_txt'] = 'No backup';
6464
$wb['daily_backup_txt'] = 'Daily';
6565
$wb['weekly_backup_txt'] = 'Weekly';
6666
$wb['monthly_backup_txt'] = 'Monthly';
67-
$wb['sender_cc_note_txt'] = '(Separate multiple email addresses with commas)';
67+
$wb['sender_cc_note_txt'] = '(One email address only)';
6868
$wb['password_click_to_set_txt'] = 'Click to set';
6969
$wb['purge_trash_days_txt'] = 'Purge Trash automatically after X days';
7070
$wb['tooltip_purge_trash_days_txt'] = '0 = disabled';

0 commit comments

Comments
 (0)