diff --git a/install/sql/incremental/upd_dev_collection.sql b/install/sql/incremental/upd_dev_collection.sql index e4fd928f7f07d9a87c8cdca4ee2e1ba80cd7ea2a..e93790ac1be76f0f6450df8799eeae062bba9f4c 100644 --- a/install/sql/incremental/upd_dev_collection.sql +++ b/install/sql/incremental/upd_dev_collection.sql @@ -192,3 +192,16 @@ ALTER TABLE `web_domain` ADD `ssl_letsencrypt` enum('n','y') NOT NULL DEFAULT 'n ALTER TABLE `openvz_template` CHANGE `vmguarpages` `vmguarpages` varchar(255) DEFAULT '65536:unlimited'; ALTER TABLE `openvz_template` CHANGE `privvmpages` `privvmpages` varchar(255) DEFAULT '131072:139264'; + + + + +-- Mail Security: Send As Permission by dark alex +-- MS: alter table +ALTER TABLE `mail_forwarding` + ADD COLUMN `allow_send_as` ENUM('n','y') NOT NULL DEFAULT 'n' AFTER `active`; +-- MS: apply defaults +update mail_forwarding set allow_send_as='y' WHERE type = 'alias'; + + + diff --git a/install/sql/ispconfig3.sql b/install/sql/ispconfig3.sql index 672f94bae40e63766b1674d29e0bfe913e9dd864..6c54e620c603cad1132e8142a9d3a9ae77241c03 100644 --- a/install/sql/ispconfig3.sql +++ b/install/sql/ispconfig3.sql @@ -800,6 +800,7 @@ CREATE TABLE `mail_forwarding` ( `destination` text, `type` enum('alias','aliasdomain','forward','catchall') NOT NULL default 'alias', `active` enum('n','y') NOT NULL DEFAULT 'n', + `allow_send_as` ENUM('n','y') NOT NULL DEFAULT 'n', `greylisting` enum('n','y' ) NOT NULL DEFAULT 'n', PRIMARY KEY (`forwarding_id`), KEY `server_id` (`server_id`,`source`), diff --git a/install/tpl/mysql-virtual_sender_login_maps.cf.master b/install/tpl/mysql-virtual_sender_login_maps.cf.master index ad2d758b081c576cd384fb14a75602e66a534075..5b7f144f8cb94c5686a388f950651a86d1c9a618 100644 --- a/install/tpl/mysql-virtual_sender_login_maps.cf.master +++ b/install/tpl/mysql-virtual_sender_login_maps.cf.master @@ -1,5 +1,5 @@ user = {mysql_server_ispconfig_user} password = {mysql_server_ispconfig_password} dbname = {mysql_server_database} -query = SELECT destination FROM mail_forwarding WHERE source = '%s' AND active = 'y' AND type = 'alias' AND server_id = {server_id} UNION SELECT email FROM mail_user WHERE email = '%s' AND disablesmtp = 'n' AND server_id = {server_id}; +query = SELECT destination FROM mail_forwarding WHERE source = '%s' AND active = 'y' AND allow_send_as = 'y' AND server_id = {server_id} UNION SELECT email FROM mail_user WHERE email = '%s' AND disablesmtp = 'n' AND server_id = {server_id}; hosts = {mysql_server_ip} \ No newline at end of file diff --git a/interface/web/mail/form/mail_alias.tform.php b/interface/web/mail/form/mail_alias.tform.php index d85989517d8db4a7b566e87c7c609fbb2db2692c..a004203622d3c6df0e6b9186a1f8829fa0ee0e66 100644 --- a/interface/web/mail/form/mail_alias.tform.php +++ b/interface/web/mail/form/mail_alias.tform.php @@ -124,6 +124,12 @@ $form["tabs"]['alias'] = array ( 'default' => 'y', 'value' => array(0 => 'n', 1 => 'y') ), + 'allow_send_as' => array ( + 'datatype' => 'VARCHAR', + 'formtype' => 'CHECKBOX', + 'default' => 'y', + 'value' => array(1 => 'y', 0 => 'n') + ), 'greylisting' => array ( 'datatype' => 'VARCHAR', 'formtype' => 'CHECKBOX', diff --git a/interface/web/mail/form/mail_forward.tform.php b/interface/web/mail/form/mail_forward.tform.php index 520f18d54b1393e254b11685905591a81e72afed..3c891506b9e69a64abb916c9ddd3662bea4b6730 100644 --- a/interface/web/mail/form/mail_forward.tform.php +++ b/interface/web/mail/form/mail_forward.tform.php @@ -118,6 +118,12 @@ $form["tabs"]['forward'] = array ( 'default' => 'y', 'value' => array(0 => 'n', 1 => 'y') ), + 'allow_send_as' => array ( + 'datatype' => 'VARCHAR', + 'formtype' => 'CHECKBOX', + 'default' => 'n', + 'value' => array(1 => 'y', 0 => 'n') + ), 'greylisting' => array ( 'datatype' => 'VARCHAR', 'formtype' => 'CHECKBOX', diff --git a/interface/web/mail/lib/lang/de_mail_alias.lng b/interface/web/mail/lib/lang/de_mail_alias.lng index 4115780ad67b23dc6e81ec873e340355407b6747..211f0065fa0e44d05f62798fd1f36a9afebba151 100644 --- a/interface/web/mail/lib/lang/de_mail_alias.lng +++ b/interface/web/mail/lib/lang/de_mail_alias.lng @@ -11,5 +11,7 @@ $wb['duplicate_mailbox_txt'] = 'Es existiert bereits eine E-Mail Konto mit diese $wb['domain_txt'] = 'Domain'; $wb['duplicate_email_alias_txt'] = 'Dieser E-Mail Alias existiert bereits.'; $wb['source_txt'] = 'Alias'; +$wb['send_as_txt'] = 'Senden als'; +$wb['send_as_exp'] = 'Ziel erlauben, den alias als Absender zu benutzen'; $wb['greylisting_txt'] = 'Aktiviere Greylisting'; ?> diff --git a/interface/web/mail/lib/lang/de_mail_forward.lng b/interface/web/mail/lib/lang/de_mail_forward.lng index 15d084526aeb719883999d287eacdacfaa657933..f10d789671ee572ff4f4cdda1acc489c20588480 100644 --- a/interface/web/mail/lib/lang/de_mail_forward.lng +++ b/interface/web/mail/lib/lang/de_mail_forward.lng @@ -7,5 +7,7 @@ $wb['duplicate_mailbox_txt'] = 'Es existiert bereits ein E-Mail Konto mit dieser $wb['domain_txt'] = 'Domain'; $wb['source_txt'] = 'Quell E-Mail Adresse'; $wb['email_error_isemail'] = 'Bitte geben Sie eine gültige E-Mail Adresse an.'; +$wb['send_as_txt'] = 'Senden als'; +$wb['send_as_exp'] = 'Ziel erlauben, die Adresse als Absender zu nutzen (Nur, falls das Ziel intern ist)'; $wb['greylisting_txt'] = 'Aktiviere greylisting'; ?> diff --git a/interface/web/mail/lib/lang/en_mail_alias.lng b/interface/web/mail/lib/lang/en_mail_alias.lng index 6e9d82819658b33e03dda31506dc02dbf1d96db3..80326075b06987d2c4d190612ffb444c5d5120a9 100644 --- a/interface/web/mail/lib/lang/en_mail_alias.lng +++ b/interface/web/mail/lib/lang/en_mail_alias.lng @@ -11,5 +11,7 @@ $wb["duplicate_mailbox_txt"] = 'There is already a mailbox with this email addre $wb['domain_txt'] = 'Domain'; $wb["duplicate_email_alias_txt"] = 'This email alias does already exist.'; $wb["source_txt"] = 'Alias'; +$wb['send_as_txt'] = 'Send as'; +$wb['send_as_exp'] = 'Allow target to send mail using this alias as origin'; $wb['greylisting_txt'] = 'Enable greylisting'; ?> diff --git a/interface/web/mail/lib/lang/en_mail_forward.lng b/interface/web/mail/lib/lang/en_mail_forward.lng index 07046505dee0f0a40fcd83b2d40409ca557ba8d5..adab1138eeacbdf138aa9b56af10de8c2c5ef48a 100644 --- a/interface/web/mail/lib/lang/en_mail_forward.lng +++ b/interface/web/mail/lib/lang/en_mail_forward.lng @@ -7,5 +7,7 @@ $wb["duplicate_mailbox_txt"] = 'There is already a mailbox with this email addre $wb['domain_txt'] = 'Domain'; $wb["source_txt"] = 'Source Email'; $wb['email_error_isemail'] = 'Please enter a valid email address.'; +$wb['send_as_txt'] = 'Send as'; +$wb['send_as_exp'] = 'Allow target to send mail using this address as origin (if target is internal)'; $wb['greylisting_txt'] = 'Enable greylisting'; ?> diff --git a/interface/web/mail/templates/mail_alias_edit.htm b/interface/web/mail/templates/mail_alias_edit.htm index 07d781c676f1381fa3055e728d98ebf459a25c70..04879265f0319fd3b10669d71e5073f5e68b498e 100644 --- a/interface/web/mail/templates/mail_alias_edit.htm +++ b/interface/web/mail/templates/mail_alias_edit.htm @@ -27,6 +27,12 @@ {tmpl_var name='active'} +
+ +
+ {tmpl_var name='allow_send_as'} {tmpl_var name='send_as_exp'} +
+
diff --git a/interface/web/mail/templates/mail_forward_edit.htm b/interface/web/mail/templates/mail_forward_edit.htm index c6a2de878c49f3a0ad10142a473cad34bfe805ea..7c8c8b9cbc06164180428402aa554e3908aaa9b6 100644 --- a/interface/web/mail/templates/mail_forward_edit.htm +++ b/interface/web/mail/templates/mail_forward_edit.htm @@ -25,6 +25,12 @@ {tmpl_var name='active'}
+
+ +
+ {tmpl_var name='allow_send_as'} {tmpl_var name='send_as_exp'} +
+