mailserver: add VERP marking of outgoing an unmarking of incoming mails
This commit is contained in:
parent
57de8e095f
commit
b0bc240ee5
6 changed files with 73 additions and 0 deletions
21
mail_system/templates/postfix/sender_canonical_maps.cf
Normal file
21
mail_system/templates/postfix/sender_canonical_maps.cf
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
# THIS FILE IS CONTROLLED BY ANSIBLE - DO NOT CHANGE IN DEPLOYMENT!
|
||||
|
||||
|
||||
# man pgsql_table
|
||||
|
||||
user = {{ mailserver.postgresql.username }}
|
||||
password = {{ mailserver.postgresql.password }}
|
||||
dbname = {{ mailserver.postgresql.dbname }}
|
||||
hosts = {{ mailserver.postgresql.host }}
|
||||
query = insert into mail_from (id, original, rewritten)
|
||||
values (nextval('mail_from_id_seq'), '%s',
|
||||
case
|
||||
when regexp_replace('%s', '.*@([^@]+)$', '\1') in (select name from domains)
|
||||
then case
|
||||
when '%s'~*'{{ mailserver.postfix.verp_marker }}-\d+@'
|
||||
then '%s'
|
||||
else regexp_replace('%s', '^(.*)@[^@]+$', '\1') || case when '%s'~'\+' then '{{ mailserver.postfix.verp_marker }}-' else '+{{ mailserver.postfix.verp_marker }}-' end || lastval()::text || '@' || regexp_replace('%s', '.*@([^@]+)$', '\1')
|
||||
end
|
||||
else '%s'
|
||||
end
|
||||
) on conflict (rewritten) do nothing returning rewritten
|
||||
Loading…
Add table
Add a link
Reference in a new issue