arithmetric / aws-lambda-ses-forwarder

Serverless email forwarding using AWS Lambda and SES
MIT License
1.7k stars 450 forks source link

Setting 'From' doesn't work when sender email has no name element, causing unverified sender failure #114

Open Todderz opened 4 years ago

Todderz commented 4 years ago

When the sender is

Bilbo Baggins <bbaggins@theshire.com>

the regex for replacing the From address works. The part between < and > is removed, and the verified From address is added, leaving

From: Bilbo Baggins <i-am-verified@sender.com>

If the sender is just

bbaggins@theshire.com

then the removal of the original fails, leaving

From: bbaggins@theshire.com <i-am-verified@sender.com>

AWS scans the first item in the From header and fails with unverified sender.

message: 'sendRawEmail() returned error.',
  error: 
   { MessageRejected: Email address is not verified. The following identities failed the check in region EU-WEST-1: <bbaggins@theshire.com>

Have been using the function for over 12 months without problem until failures when the sender address is as described, surrounded by others still working correctly with the more usual sender format, so it's not anything to do with sandboxes or other config. The only difference I can see for the failed messages is the sender from address being as discussed.

This line: https://github.com/arithmetric/aws-lambda-ses-forwarder/blob/6522b9381450d2c88523af12581b2f27fc7e3ce7/index.js#L209

kevbarns commented 4 years ago

I have the same issue and no idea to fix it for now. love to hear from others, thanks !

cregkly commented 4 years ago

This is already fixed by https://github.com/arithmetric/aws-lambda-ses-forwarder/pull/118

I merged it into my fork and it fixed the problem.

christoph-kluge commented 3 years ago

Got the same problem. Going to validate #118 for my usecase.

// Edit#1 I have a slightly modified version but the solution provided in #118 is working 👍