mirror of
https://github.com/zulip/zulip.git
synced 2025-11-11 09:27:43 +00:00
This is a preparatory commit for using isort for sorting all of our imports, merging changes to files where we can easily review the changes as something we're happy with. These are also files with relatively little active development, which means we don't expect much merge conflict risk from these changes.
48 lines
2.3 KiB
Python
48 lines
2.3 KiB
Python
from typing import Any
|
|
|
|
from django.conf import settings
|
|
from django.core.mail import mail_admins, mail_managers, send_mail
|
|
from django.core.management import CommandError
|
|
from django.core.management.commands import sendtestemail
|
|
|
|
from zerver.lib.send_email import FromAddress
|
|
|
|
|
|
class Command(sendtestemail.Command):
|
|
def handle(self, *args: Any, **kwargs: str) -> None:
|
|
if settings.WARN_NO_EMAIL:
|
|
raise CommandError("Outgoing email not yet configured, see\n "
|
|
"https://zulip.readthedocs.io/en/latest/production/email.html")
|
|
if len(kwargs['email']) == 0:
|
|
raise CommandError("Usage: /home/zulip/deployments/current/manage.py "
|
|
"send_test_email username@example.com")
|
|
|
|
print("If you run into any trouble, read:")
|
|
print()
|
|
print(" https://zulip.readthedocs.io/en/latest/production/email.html#troubleshooting")
|
|
print()
|
|
print("The most common error is not setting `ADD_TOKENS_TO_NOREPLY_ADDRESS=False` when")
|
|
print("using an email provider that doesn't support that feature.")
|
|
print()
|
|
print("Sending 2 test emails from:")
|
|
|
|
message = ("Success! If you receive this message (and a second with a different subject), "
|
|
"you've successfully configured sending emails from your Zulip server. "
|
|
"Remember that you need to restart "
|
|
"the Zulip server with /home/zulip/deployments/current/scripts/restart-server "
|
|
"after changing the settings in /etc/zulip before your changes will take effect.")
|
|
sender = FromAddress.SUPPORT
|
|
print(" * %s" % (sender,))
|
|
send_mail("Zulip email test", message, sender, kwargs['email'])
|
|
noreply_sender = FromAddress.tokenized_no_reply_address()
|
|
print(" * %s" % (noreply_sender,))
|
|
send_mail("Zulip noreply email test", message, noreply_sender, kwargs['email'])
|
|
print()
|
|
print("Successfully sent 2 emails to %s!" % (", ".join(kwargs['email']),))
|
|
|
|
if kwargs['managers']:
|
|
mail_managers("Zulip manager email test", "This email was sent to the site managers.")
|
|
|
|
if kwargs['admins']:
|
|
mail_admins("Zulip admins email test", "This email was sent to the site admins.")
|