From f0cab68208ae023c9e47976efdd6c9edd1cc3bf6 Mon Sep 17 00:00:00 2001 From: Bert Blommers Date: Wed, 18 Mar 2020 11:46:44 +0000 Subject: [PATCH] #2264 - SES - Ensure verify_email_address works with display names --- moto/ses/models.py | 2 ++ tests/test_ses/test_ses_boto3.py | 13 +++++++++++++ 2 files changed, 15 insertions(+) diff --git a/moto/ses/models.py b/moto/ses/models.py index 4b6ce52c8..91241f706 100644 --- a/moto/ses/models.py +++ b/moto/ses/models.py @@ -91,9 +91,11 @@ class SESBackend(BaseBackend): return host in self.domains def verify_email_identity(self, address): + _, address = parseaddr(address) self.addresses.append(address) def verify_email_address(self, address): + _, address = parseaddr(address) self.email_addresses.append(address) def verify_domain(self, domain): diff --git a/tests/test_ses/test_ses_boto3.py b/tests/test_ses/test_ses_boto3.py index ee7c92aa1..de8aa0813 100644 --- a/tests/test_ses/test_ses_boto3.py +++ b/tests/test_ses/test_ses_boto3.py @@ -214,3 +214,16 @@ def test_send_raw_email_without_source_or_from(): kwargs = dict(RawMessage={"Data": message.as_string()}) conn.send_raw_email.when.called_with(**kwargs).should.throw(ClientError) + + +@mock_ses +def test_send_email_notification_with_encoded_sender(): + sender = "Foo " + conn = boto3.client("ses", region_name="us-east-1") + conn.verify_email_identity(EmailAddress=sender) + response = conn.send_email( + Source=sender, + Destination={"ToAddresses": ["your.friend@hotmail.com"]}, + Message={"Subject": {"Data": "hi",}, "Body": {"Text": {"Data": "there",}}}, + ) + response["ResponseMetadata"]["HTTPStatusCode"].should.equal(200)