Two months ago, I wrote a blog post using SendGrid's Inbound Parse to forward emails to Dovecot (IMAP). The reasons behind this decision were discussed in detail there, but to summarize:
- Auto-retry meant I would not have to worry about high availability on my end.
- Port 25 (for inbound emails) is blocked on many VPSs so unblocking it would be a challenge.
- I don't need to expose my backend IP as Inbound Parse can sit in front of my server.
I also briefly noted that this wasn't the intended use of Inbound Parse, but that it did open up the possibility of using it for its intended purpose (parsing the emails in code and routing them accordingly) in the future.
There's been a few annoyances with directly forwarding emails to Dovecot that I wanted to address, which has finally lead me to using Inbound Parse for its intended purpose. In the process, I've had to create a library to properly resolve these annoyances.
Continue reading...