Evan Zhang
    Blog About Me Projects Résumé Rating Predictor

Blog


Custom Routing of Inbound Emails

March 15, 2022 10 minutes Sysadmin

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...

An Unusual Use of SendGrid's Inbound Parse

January 31, 2022 8 minutes Sysadmin

Many people who have their own domains will set up an email address for that domain. For me, I have [email protected] (though any @evanzhang.ca address also works).

For the longest time, I've had an unfavourable email situation for my domain. Recently, I completely revamped my email situation in an unusual way which may be a useful option to consider for anyone else setting up emails.

Continue reading...

Fire Emblem: Radiant Dawn (FE10) Modding #2: Data Reference

January 19, 2022 19 minutes Fire Emblem, Reversing

In post 1 of Fire Emblem 10 Modding, we delved into the structure of the ISO and locations of key files that we care about. One of these files was FE10Data.cms, which contains a substantial amount of data that we want to modify.

This post will describe FE10Data.cms's sub-sections in more detail, as they were brushed over in post 1. It should act as a decent reference for anyone who plans to modify this file.

Continue reading...

Fire Emblem: Radiant Dawn (FE10) Modding #1: Prologue

January 18, 2022 11 minutes Fire Emblem, Reversing

One of my favourite games is Fire Emblem: Radiant Dawn, the tenth installment in the Fire Emblem series. A couple of months ago, after playing through the game more than half a dozen times, I decided to try modding the game. I was surprised to see the lack of such a community for FE10.

This blog post will be post 1 of a series of blog posts on Fire Emblem 10 Modding. In this post, we will delve into the structure of the ISO and locations of key files that we care about.

Continue reading...

Reversing My Smart Water Bottle

August 20, 2021 15 minutes Reversing

Recently, as part of my company's fitness plan, I bought the HidrateSpark smart water bottle to track water intake. The water bottle itself was pretty interesting — using a capacitative sensor to measure water levels. The associated smartphone app, however, was horrible. As a privacy enthusiast, I was concerned with what sorts of data they were collecting, given the weird quirks in their app during my first interaction with it.

In this post, we'll take a look at reversing their app, and subsequently their API server, the end goal being to replace the upstream API server entirely.

Continue reading...
© 2018 – 2025 Evan Zhang
Available through Tor at evanzhanglvinaengh2az5hcntvolh2tu6rv2rt5pqo2lif7xiacuqid.onion.