tools (common/email): use from_email is specified, always set email_sender_domain

This commit is contained in:
Goffi 2022-05-16 13:03:53 +02:00
commit 8946b6fb4e

View file

@ -43,19 +43,21 @@ def sendEmail(config, to_emails, subject="", body="", from_email=None):
if isinstance(to_emails, str):
to_emails = to_emails.split()
email_host = tools_config.getConfig(config, None, "email_server") or "localhost"
email_from = tools_config.getConfig(config, None, "email_from")
email_from = from_email or tools_config.getConfig(config, None, "email_from")
# we suppose that email domain and XMPP domain are identical
domain = tools_config.getConfig(config, None, "xmpp_domain")
if domain is None:
if email_from is not None:
domain = email_from.split("@", 1)[-1]
else:
domain = "example.net"
if email_from is None:
# we suppose that email domain and XMPP domain are identical
domain = tools_config.getConfig(config, None, "xmpp_domain", "example.net")
email_from = "no_reply@" + domain
email_sender_domain = tools_config.getConfig(config, None, "email_sender_domain")
if email_sender_domain is None and smtp.DNSNAME == b"localhost.localdomain":
try:
email_sender_domain = email_from.split('@')[1]
except IndexError:
log.warning(
"Can't set email_sender_domain domain du to invalid email_from: "
f"{email_from!r}")
email_sender_domain = tools_config.getConfig(
config, None, "email_sender_domain", domain
)
email_port = int(tools_config.getConfig(config, None, "email_port", 25))
email_username = tools_config.getConfig(config, None, "email_username")
email_password = tools_config.getConfig(config, None, "email_password")