arithmetric / aws-lambda-ses-forwarder

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

fix: Support other encoding than UTF-8 #131

Open amertak opened 3 years ago

amertak commented 3 years ago

This should fix the issue with email being sent with other encoding than UTF-8 and then being not properly handled in the javascript code.

By default, toString on S3 file expects UTF-8, so from that moment if it is in other encoding, email will be received broken.

This reads the email using the toString method and tries to find text/plain; charset=(encoding) to decide which encoding provide to TextDecoder function.

Then also the header needs to be modified as we from this moment are working with UTF-8.

Tested with Windows-1250 and ISO-8859-2 where text is now fixed if the email is sent with this encoding.