diff --git a/app/email_utils.py b/app/email_utils.py index a899ad5f..31fc8f57 100644 --- a/app/email_utils.py +++ b/app/email_utils.py @@ -1378,7 +1378,7 @@ def generate_verp_email( # Encoded as a list to minimize size of email address # Time is in minutes granularity and start counting on 2022-01-01 to reduce bytes to represent time data = [ - verp_type.bounce_forward.value, + verp_type.value, object_id, int((time.time() - VERP_TIME_START) / 60), ] diff --git a/pyproject.toml b/pyproject.toml index 9a2176c0..57b585b6 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -87,6 +87,7 @@ tldextract = "^3.1.2" flask-debugtoolbar-sqlalchemy = "^0.2.0" twilio = "^7.3.2" Deprecated = "^1.2.13" +cryptography = "37.0.1" [tool.poetry.dev-dependencies] pytest = "^7.0.0" diff --git a/tests/test_email_utils.py b/tests/test_email_utils.py index 513ddb2c..a1207b36 100644 --- a/tests/test_email_utils.py +++ b/tests/test_email_utils.py @@ -754,6 +754,19 @@ def test_generate_verp_email(object_id): assert info[1] == object_id +def test_generate_verp_email_forward_reply_phase(): + """make sure the verp type is taken into account in verp generation""" + for phase in [ + VerpType.bounce_forward, + VerpType.bounce_reply, + VerpType.transactional, + ]: + verp = generate_verp_email(phase, 100) + verp_info = get_verp_info_from_email(verp) + assert verp_info[0] == phase + assert verp_info[1] == 100 + + def test_add_header_multipart_with_invalid_part(): msg = load_eml_file("multipart_alternative.eml") parts = msg.get_payload() + ["invalid"]