mirror of
https://github.com/mail-in-a-box/mailinabox.git
synced 2024-11-22 02:17:26 +00:00
Merge pull request #605 from ariejan/feature/604-add-rfc2142-mail-aliases
Add alias for abuse@
This commit is contained in:
commit
fad69f85fa
@ -7,6 +7,7 @@ Still In Development
|
|||||||
Mail:
|
Mail:
|
||||||
|
|
||||||
* Updated Roundcube to version 1.1.3.
|
* Updated Roundcube to version 1.1.3.
|
||||||
|
* Auto-create RFC2142 aliases for abuse@.
|
||||||
|
|
||||||
Control panel:
|
Control panel:
|
||||||
|
|
||||||
|
@ -77,7 +77,7 @@ def prettify_idn_email_address(email):
|
|||||||
|
|
||||||
def is_dcv_address(email):
|
def is_dcv_address(email):
|
||||||
email = email.lower()
|
email = email.lower()
|
||||||
for localpart in ("admin", "administrator", "postmaster", "hostmaster", "webmaster"):
|
for localpart in ("admin", "administrator", "postmaster", "hostmaster", "webmaster", "abuse"):
|
||||||
if email.startswith(localpart+"@") or email.startswith(localpart+"+"):
|
if email.startswith(localpart+"@") or email.startswith(localpart+"+"):
|
||||||
return True
|
return True
|
||||||
return False
|
return False
|
||||||
@ -520,17 +520,21 @@ def get_required_aliases(env):
|
|||||||
# email on that domain are the required aliases or a catch-all/domain-forwarder.
|
# email on that domain are the required aliases or a catch-all/domain-forwarder.
|
||||||
real_mail_domains = get_mail_domains(env,
|
real_mail_domains = get_mail_domains(env,
|
||||||
filter_aliases = lambda alias :
|
filter_aliases = lambda alias :
|
||||||
not alias.startswith("postmaster@") and not alias.startswith("admin@")
|
not alias.startswith("postmaster@")
|
||||||
|
and not alias.startswith("admin@")
|
||||||
|
and not alias.startswith("abuse@")
|
||||||
and not alias.startswith("@")
|
and not alias.startswith("@")
|
||||||
)
|
)
|
||||||
|
|
||||||
# Create postmaster@ and admin@ for all domains we serve mail on.
|
# Create postmaster@, admin@ and abuse@ for all domains we serve
|
||||||
# postmaster@ is assumed to exist by our Postfix configuration. admin@
|
# mail on. postmaster@ is assumed to exist by our Postfix configuration.
|
||||||
# isn't anything, but it might save the user some trouble e.g. when
|
# admin@isn't anything, but it might save the user some trouble e.g. when
|
||||||
# buying an SSL certificate.
|
# buying an SSL certificate.
|
||||||
|
# abuse@ is part of RFC2142: https://www.ietf.org/rfc/rfc2142.txt
|
||||||
for domain in real_mail_domains:
|
for domain in real_mail_domains:
|
||||||
aliases.add("postmaster@" + domain)
|
aliases.add("postmaster@" + domain)
|
||||||
aliases.add("admin@" + domain)
|
aliases.add("admin@" + domain)
|
||||||
|
aliases.add("abuse@" + domain)
|
||||||
|
|
||||||
return aliases
|
return aliases
|
||||||
|
|
||||||
@ -572,7 +576,7 @@ def kick(env, mail_result=None):
|
|||||||
# longer have any other email addresses for.
|
# longer have any other email addresses for.
|
||||||
for address, forwards_to, *_ in existing_alias_records:
|
for address, forwards_to, *_ in existing_alias_records:
|
||||||
user, domain = address.split("@")
|
user, domain = address.split("@")
|
||||||
if user in ("postmaster", "admin") \
|
if user in ("postmaster", "admin", "abuse") \
|
||||||
and address not in required_aliases \
|
and address not in required_aliases \
|
||||||
and forwards_to == get_system_administrator(env):
|
and forwards_to == get_system_administrator(env):
|
||||||
remove_mail_alias(address, env, do_kick=False)
|
remove_mail_alias(address, env, do_kick=False)
|
||||||
|
@ -86,7 +86,7 @@
|
|||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<p style="margin-top: 1.5em"><small>hostmaster@, postmaster@, and admin@ email addresses are required on some domains.</small></p>
|
<p style="margin-top: 1.5em"><small>hostmaster@, postmaster@, admin@ and abuse@ email addresses are required on some domains.</small></p>
|
||||||
|
|
||||||
<div style="display: none">
|
<div style="display: none">
|
||||||
<table>
|
<table>
|
||||||
|
Loading…
Reference in New Issue
Block a user