zulip/zerver/lib
Cyril Pletinckx e4ff372fc3 emails: Transform SMTPException into EmailNotDeliveredException.
Django's default SMTP implementation can raise various exceptions
when trying to send an email. In order to allow Zulip calling code
to catch fewer exceptions to handle any cause of "email not
sent", we translate most of them into EmailNotDeliveredException.
The non-translated exceptions concern the connection with the
SMTP server. They were not merged with the rest to keep some
details about the nature of these.

Tests are implemented in the test_send_email.py module.
2021-05-05 20:16:11 -07:00
..
markdown user docs: Create separate "Code blocks" user documentation page. 2021-05-05 16:11:21 -07:00
url_preview python: Convert deprecated Django smart_text alias to smart_str. 2021-04-15 18:01:34 -07:00
webhooks python: Convert deprecated Django ugettext alias to gettext. 2021-04-15 18:01:34 -07:00
__init__.py
actions.py presence: Disable live presence updates in larger realms. 2021-05-05 08:50:42 -07:00
addressee.py python: Convert deprecated Django ugettext alias to gettext. 2021-04-15 18:01:34 -07:00
alert_words.py python: Reformat with Black, except quotes. 2021-02-12 13:11:19 -08:00
attachments.py python: Convert deprecated Django ugettext alias to gettext. 2021-04-15 18:01:34 -07:00
avatar_hash.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
avatar.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
bot_config.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
bot_lib.py embedded bot: Return message id for send_message and send_reply. 2021-04-28 08:32:21 -07:00
bot_storage.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
bulk_create.py mypy: Don’t use Iterable for values iterated multiple times. 2021-04-29 16:06:17 -07:00
cache_helpers.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
cache.py models: Replace __id syntax with _id where possible. 2021-04-22 14:53:00 -07:00
camo.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
ccache.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
context_managers.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
create_user.py users: Remove redundant get_role_for_new_user in lib/create_user.py. 2021-04-30 15:57:09 -07:00
data_types.py python: Reformat with Black, except quotes. 2021-02-12 13:11:19 -08:00
db.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
debug.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
dev_ldap_directory.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
digest.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
display_recipient.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
domains.py python: Convert deprecated Django ugettext alias to gettext. 2021-04-15 18:01:34 -07:00
email_mirror_helpers.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
email_mirror.py emails: Rename "missed message email" to "message notification email". 2021-04-21 10:10:54 -07:00
email_notifications.py emails: Fix incorrect onboarding email going to realm owners. 2021-04-27 17:09:27 -07:00
email_validation.py python: Convert deprecated Django ugettext alias to gettext. 2021-04-15 18:01:34 -07:00
emoji.py python: Convert deprecated Django ugettext alias to gettext. 2021-04-15 18:01:34 -07:00
error_notify.py python: Convert deprecated Django ugettext alias to gettext. 2021-04-15 18:01:34 -07:00
event_schema.py users: Add role field to user objects returned by format_user_row. 2021-04-29 15:13:50 -07:00
events.py mypy: Don’t use Iterable for values iterated multiple times. 2021-04-29 16:06:17 -07:00
exceptions.py python: Convert deprecated Django ugettext alias to gettext. 2021-04-15 18:01:34 -07:00
export.py docs: Add missing space to compound verbs “log in”, “set up”, etc. 2021-04-26 09:31:08 -07:00
external_accounts.py python: Convert deprecated Django ugettext alias to gettext. 2021-04-15 18:01:34 -07:00
fix_unreads.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
generate_test_data.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
github.py python: Reformat with Black, except quotes. 2021-02-12 13:11:19 -08:00
home.py emails: Add unsubscribe link infrastructure for marketing emails. 2021-04-27 21:36:09 -07:00
hotspots.py docs: Fix spelling errors caught by codespell. 2021-04-26 09:31:08 -07:00
html_diff.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
html_to_text.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
i18n.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
import_realm.py audit log: Create audit log when a realm is created. 2021-04-30 09:25:11 -07:00
initial_password.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
integrations.py integrations: Change display name for Json integration to use a capital F. 2021-04-29 12:35:12 -07:00
logging_util.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
management.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
mdiff.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
mention.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
message.py settings: Add moderators option for wildcard_mention_policy. 2021-05-03 12:12:01 -07:00
migrate.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
mobile_auth_otp.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
name_restrictions.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
narrow.py mypy: Don’t use Iterable for values iterated multiple times. 2021-04-29 16:06:17 -07:00
onboarding.py python: Convert deprecated Django ugettext alias to gettext. 2021-04-15 18:01:34 -07:00
outgoing_webhook.py outgoing_webhook: Add a logging statement for each outgoing webhook. 2021-04-29 12:37:14 -07:00
presence.py models: Replace __id syntax with _id where possible. 2021-04-22 14:53:00 -07:00
profile.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
push_notifications.py push_notifications: Give full stack information on an exception. 2021-04-30 14:03:52 -07:00
pysa.py python: Sort imports with isort. 2020-06-11 16:45:32 -07:00
queue.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
rate_limiter.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
realm_description.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
realm_icon.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
realm_logo.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
redis_utils.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
remote_server.py python: Convert deprecated Django ugettext alias to gettext. 2021-04-15 18:01:34 -07:00
request.py python: Convert deprecated Django ugettext alias to gettext. 2021-04-15 18:01:34 -07:00
response.py python: Convert deprecated Django ugettext alias to gettext. 2021-04-15 18:01:34 -07:00
rest.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
retention.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
send_email.py emails: Transform SMTPException into EmailNotDeliveredException. 2021-05-05 20:16:11 -07:00
server_initialization.py audit log: Create audit log when a realm is created. 2021-04-30 09:25:11 -07:00
sessions.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
soft_deactivation.py models: Replace __id syntax with _id where possible. 2021-04-22 14:53:00 -07:00
sqlalchemy_utils.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
statistics.py python: Reformat with Black, except quotes. 2021-02-12 13:11:19 -08:00
storage.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
stream_subscription.py models: Replace __id syntax with _id where possible. 2021-04-22 14:53:00 -07:00
stream_topic.py subs: Allow filtering by is_user_active in get_active_subscriptions. 2021-04-19 10:10:51 -07:00
streams.py mypy: Don’t use Iterable for values iterated multiple times. 2021-04-29 16:06:17 -07:00
subdomains.py markdown: Rewrite all external images to use Camo. 2021-04-30 10:36:16 -07:00
test_classes.py registration: Rename source_realm field to source_realm_id. 2021-05-02 11:12:49 -07:00
test_console_output.py mypy: Don’t use Iterable for values iterated multiple times. 2021-04-29 16:06:17 -07:00
test_data.source.txt docs: Capitalize Markdown consistently. 2020-08-11 10:23:06 -07:00
test_fixtures.py puppeteer_tests: Reset test environment after each run. 2021-03-25 12:58:36 -07:00
test_helpers.py middleware: Get client name in LogRequests instead of process_client. 2021-04-29 17:03:05 -07:00
test_runner.py requirements: Re-drop direct dependency on mock. 2021-04-15 21:47:33 -07:00
tex.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
thumbnail.py python: Convert deprecated Django is_safe_url. 2021-04-15 18:01:34 -07:00
timeout.py timeout: Remove unnecessary varargs support. 2021-02-15 17:05:28 -08:00
timestamp.py python: Reformat with Black, except quotes. 2021-02-12 13:11:19 -08:00
timezone.py python: Reformat with Black, except quotes. 2021-02-12 13:11:19 -08:00
topic_mutes.py topic_mutes: Filter deactivated streams from get_topic_mutes. 2021-03-30 12:11:35 -07:00
topic.py message_edit: Extract update_edit_history. 2021-04-23 15:12:09 -07:00
transfer.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
type_debug.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
types.py linkifiers: Use dictionaries for internal structures. 2021-04-05 18:16:08 -07:00
unminify.py unminify: Fix lookup if source map does not exist in disk. 2021-03-16 14:46:18 -07:00
upload.py upload: Mention new difference between sanitize_name and slugify. 2021-05-03 08:36:22 -07:00
url_encoding.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
user_agent.py python: Reformat with Black, except quotes. 2021-02-12 13:11:19 -08:00
user_groups.py python: Convert deprecated Django ugettext alias to gettext. 2021-04-15 18:01:34 -07:00
user_mutes.py models: Replace __id syntax with _id where possible. 2021-04-22 14:53:00 -07:00
user_status.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
users.py registration: Encode source realm as an integer. 2021-05-02 11:12:49 -07:00
utils.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
validator.py mypy: Don’t use Iterable for values iterated multiple times. 2021-04-29 16:06:17 -07:00
widget.py widgets: Prevent edits to widgets. 2021-04-30 09:55:25 -07:00
zcommand.py python: Convert deprecated Django ugettext alias to gettext. 2021-04-15 18:01:34 -07:00
zephyr.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00