zulip/zerver/tests
Cyril Pletinckx b7fa41601d emails: Truncate overly-long From fields for RFC compatibility.
Amazon SES has a limit on the size of address fields, and rejects
emails with too-long "From" combinations of name and address. This
limit is set to 320 bytes and comes from an RFC limitation on the
size of addresses. This RFC standard states that an email address
should not be composed of a local part (before the '@') longer than
64 bytes and a domain part (after the '@') longer than 255 bytes.
It is possible that Amazon SES misinterprets this limitation as it
checks the length of the combination of the name and the email
address of the sender.

To ensure that this problem is not encountered in the send_email
module of Zulip the length of this combination is now checked
against this limit and the from_name field is removed to only
keep the from_address field when it is necessary in order to
stay below 320 bytes.

If the from_address field alone is longer than 320 bytes the
sending process will raise an SMTPDataError exception.

Tests for this new check are added to the backend test suite in
order to test if build_email correctly outputs an email with filled
from_name and from_address fields when the total length is lower
than 320 bytes and that it correctly throws the from_name field
away when necessary.

Fixes: #17558.
2021-04-03 08:13:26 -07:00
..
fixtures Revert "markdown: Add support to shorten GitHub links." 2021-04-02 15:52:34 -07:00
images
__init__.py
test_alert_words.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
test_archive.py refactor: Make acting_user a mandatory kwarg for do_deactivate_stream. 2021-04-02 14:44:41 -07:00
test_attachments.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
test_audit_log.py refactor: Make acting_user a mandatory kwarg for do_deactivate_realm. 2021-04-02 14:44:41 -07:00
test_auth_backends.py refactor: Make acting_user a mandatory kwarg for ensure_stream. 2021-04-02 14:44:41 -07:00
test_bots.py refactor: Make acting_user a mandatory kwarg for do_deactivate_user. 2021-03-29 15:51:45 -07:00
test_cache.py tests: Eliminate use of get_user_profile_by_email in tests. 2021-03-11 20:30:57 -08:00
test_camo.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
test_compatibility.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
test_create_video_call.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
test_custom_profile_data.py custom profile fields: Rename s/choice/select/ in tests. 2021-03-24 12:57:55 -07:00
test_data_types.py data_types: Generalize StringDictType. 2020-09-25 11:43:19 -07:00
test_decorators.py refactor: Make acting_user a mandatory kwarg for do_deactivate_realm. 2021-04-02 14:44:41 -07:00
test_digest.py refactor: Make acting_user a mandatory kwarg for do_create_user. 2021-02-25 17:58:00 -08:00
test_docs.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
test_drafts.py python: Reformat with Black, except quotes. 2021-02-12 13:11:19 -08:00
test_email_change.py refactor: Make acting_user a mandatory kwarg for do_set_realm_property. 2021-03-29 15:51:45 -07:00
test_email_log.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
test_email_mirror.py refactor: Make acting_user a mandatory kwarg for ensure_stream. 2021-04-02 14:44:41 -07:00
test_email_notifications.py refactor: Make acting_user a mandatory kwarg for do_change_user_role 2021-03-29 15:51:45 -07:00
test_embedded_bot_system.py logging: use assertEqual to assert logging output. 2021-03-25 01:10:03 -07:00
test_event_queue.py refactor: Integrate POSTRequestMock into HostRequestMock. 2021-03-03 21:52:05 -08:00
test_event_system.py refactor: Make acting_user a mandatory kwarg for do_change_user_role 2021-03-29 15:51:45 -07:00
test_events.py support: Pass acting_user to do_change_plan_type. 2021-04-03 08:01:46 -07:00
test_external.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
test_github.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
test_gitter_importer.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
test_home.py support: Pass acting_user to do_change_plan_type. 2021-04-03 08:01:46 -07:00
test_hotspots.py hotspots: Add TUTORIAL_ENABLED setting to toggle INTRO_HOTSPOTS. 2021-03-30 14:46:42 -07:00
test_i18n.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
test_import_export.py support: Pass acting_user to do_change_plan_type. 2021-04-03 08:01:46 -07:00
test_integrations.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
test_integrations_dev_panel.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
test_internet.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
test_legacy_subject.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
test_link_embed.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
test_logging_handlers.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
test_management_commands.py refactor: Make acting_user a mandatory kwarg for do_create_user. 2021-02-25 17:58:00 -08:00
test_markdown.py markdown: Include text & url in `topic_links` parameter of our API. 2021-03-30 15:53:07 -07:00
test_mattermost_importer.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
test_message_dict.py markdown: Include text & url in `topic_links` parameter of our API. 2021-03-30 15:53:07 -07:00
test_message_edit.py refactor: Make acting_user a mandatory kwarg for do_set_realm_property. 2021-03-29 15:51:45 -07:00
test_message_edit_notifications.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
test_message_fetch.py refactor: Make acting_user a mandatory kwarg for do_deactivate_user. 2021-03-29 15:51:45 -07:00
test_message_flags.py message: Record whether unread_msgs data is truncated. 2021-03-21 19:48:13 -07:00
test_message_send.py migrations: Subscription.is_user_active denormalization - step one. 2021-03-30 09:19:03 -07:00
test_message_topics.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
test_messages.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
test_middleware.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
test_migrations.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
test_mirror_users.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
test_muting.py topic_mutes: Filter deactivated streams from get_topic_mutes. 2021-03-30 12:11:35 -07:00
test_new_users.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
test_onboarding.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
test_openapi.py openapi: Fix non-checking of /events and /register schema. 2021-03-28 22:05:44 -07:00
test_outgoing_webhook_interfaces.py outgoing_webhook: Add a requests session on the webhook. 2021-03-29 18:24:44 -07:00
test_outgoing_webhook_system.py webhook: Catch potential JsonableError when parsing widget_content. 2021-03-31 13:31:42 -07:00
test_populate_db.py python: Reformat with Black, except quotes. 2021-02-12 13:11:19 -08:00
test_presence.py refactor: Make acting_user a mandatory kwarg for do_deactivate_user. 2021-03-29 15:51:45 -07:00
test_push_notifications.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
test_queue.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
test_queue_worker.py invites: Delete old compat code in the invites queue worker. 2021-02-26 08:26:43 -08:00
test_rate_limiter.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
test_reactions.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
test_realm.py support: Create RealmAuditLog when updating realm_subdomain. 2021-04-03 08:01:46 -07:00
test_realm_domains.py refactor: Make acting_user a mandatory kwarg for do_change_user_role 2021-03-29 15:51:45 -07:00
test_realm_emoji.py refactor: Make acting_user a mandatory kwarg for do_create_user. 2021-02-25 17:58:00 -08:00
test_realm_export.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
test_realm_filters.py linkifiers: Remove outdated comment in tests. 2021-03-15 11:19:59 -07:00
test_redis_utils.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
test_report.py test_report: Avoid Any type. 2021-02-15 17:05:28 -08:00
test_retention.py refactor: Make acting_user a mandatory kwarg for do_set_realm_property. 2021-03-29 15:51:45 -07:00
test_send_email.py emails: Truncate overly-long From fields for RFC compatibility. 2021-04-03 08:13:26 -07:00
test_service_bot_system.py refactor: Make acting_user a mandatory kwarg for do_create_user. 2021-02-25 17:58:00 -08:00
test_sessions.py migrations: Subscription.is_user_active denormalization - step one. 2021-03-30 09:19:03 -07:00
test_settings.py display_settings: Allow user to set default_view. 2021-03-11 18:09:08 -08:00
test_signup.py support: Create RealmAuditLog when updating realm_subdomain. 2021-04-03 08:01:46 -07:00
test_slack_importer.py import/export: Fix black formatting. 2021-03-08 13:08:35 -08:00
test_slack_message_conversion.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
test_soft_deactivation.py users: Add new user 'shiva' as realm moderator. 2021-02-23 15:00:49 -08:00
test_subdomains.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
test_submessage.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
test_subs.py support: Pass acting_user to do_change_plan_type. 2021-04-03 08:01:46 -07:00
test_templates.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
test_thumbnail.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
test_timestamp.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
test_timezone.py python: Reformat with Black, except quotes. 2021-02-12 13:11:19 -08:00
test_tornado.py tornado: Explicitly mark requests as varying by cookie. 2021-04-02 14:55:22 -07:00
test_transfer.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
test_tutorial.py actions: Remove realm argument to internal_send_private_message. 2021-02-23 15:26:47 -08:00
test_type_debug.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
test_typing.py typing_notifications: Do op validation in view function. 2021-04-01 07:50:02 -07:00
test_upload.py support: Pass acting_user to do_change_plan_type. 2021-04-03 08:01:46 -07:00
test_urls.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
test_user_groups.py refactor: Make acting_user a mandatory kwarg for ensure_stream. 2021-04-02 14:44:41 -07:00
test_user_status.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
test_users.py migrations: Subscription.is_user_active denormalization - step one. 2021-03-30 09:19:03 -07:00
test_webhooks_common.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
test_widgets.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
test_zcommand.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
test_zephyr.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00