by hahnchen on 9/30/23, 9:05 AM with 8 comments
by AlexITC on 10/2/23, 10:18 PM
1. Simulate the email and check whether it was being received by the mail provider (Gmail), turns out that it was received by Google but Google spam filters rejected the email, we could see the sender/subject but we couldn't see the content.
2. Print the email content in the code just before sending it, all seem correct here.
3. Do monkey-patching to a Ruby library that was in charge of sending the email to the SNTP server, println says that we are sending the right data.
4. Capture the traffic (Wireshark) sent by the app to the SMTP server just to make sure we are sending what needs to be sent, turns out that the email content wasn't what I expected, it was something like a Ruby object's default hash + some weird characters.
Apparently, the library in use wasn't working with the object we were sending, which caused the email content to become a random string, this triggered Google spam filters causing it to reject the email, the solution was as simple as changing a line from `email.body` to `email.body.string`.
by oliverpk on 9/30/23, 8:22 PM
by dcminter on 9/30/23, 3:48 PM
A bit more on-topic, although this one is not strictly my story: at British Airways, working on the cabin crew's manifest documents, we had an issue where the printout kept aborting a short way in. It turned out that any time a sick passenger needing special assistance was noted in the records the problem would occur. After a lot of head scratching someone (not me) spotted that there was a special handler to end the printout if there was an "INVALID" field in the dataset and the test literally said something like:
if(contains(recordset,"INVALID")) exit;
Invalids, therefore, were a problem :)For anyone confused, note etymology #2 here: https://en.wiktionary.org/wiki/invalid
by trumbitta2 on 10/2/23, 1:10 PM
Took me 5 days to find it. 30 seconds to fix it. (add.svg --> plus.svg)
by vpaulus on 10/2/23, 1:25 PM
by eimrine on 9/30/23, 9:09 AM
by watters on 10/3/23, 12:02 AM
TL;DR (of the problem): customers from a single country—and only that country—were (sometimes) unable to checkout on an e-commerce website and, after months of trying to sort out the issue, the solution turned out to be very facepalm-worthy.