Profile avatar
andrisreinman.com
Founder of EmailEngine (https://emailengine.app), a solo startup simplifying IMAP and SMTP access for developers.
43 posts 767 followers 496 following
Prolific Poster

The problem with most machine-based random number generators is that they’re not TRULY random, so if you need genuine randomness it is sometimes necessary to link your code to an external random process like a physical noise source or the current rate of US tariffs on a given country.

The main reason EmailEngine.app processes and lists emails so quickly is that it primarily operates with the BODYSTRUCTURE value. It doesn’t download or parse emails fully - only the minimally required MIME parts. Just like regular email clients.

After 3 weeks of testing, I considered the pricing changes a failure and rolled back previous plans. The only people who tried to sign up for the monthly plan were obvious scammers, and I had to block several payment attempts to avoid future chargebacks. The yearly-plan-only setup is much calmer.

I attended almost all the modern email and API talks at FOSDEM—still recovering from all that sitting. The highlight for me was an unexpected mention of my EmailEngine project!

I will be at FOSDEM this weekend, mostly to attend the modern email track. Usually would listen these talks online but this time decided to go on person.

Now that my one-person, bootstrapped startup has reached $10k MRR, I’m finally ready to experiment with pricing. Until now, EmailEngine was only offered as an annual subscription, but I’ve just introduced a monthly option - mainly to hide away the price increase on yearly plans 🫣

TIL, reusing JavScript TextDecoder objects is not a good idea. It works most of the time, but when dealing with shifting encodings like ISO-2022-JP, things get messy. The TextDecoder object seems to remember the last shift, resulting in an invalid first character when decoding the next payload.

This is completely bonkers, I’ve been building the nodemailer library for 15 years and it is still gaining momentum. Daily downloads are starting to reach 800 000 😱

I was finally forced to add rate limiting to Ethereal.email after some schmuck flooded the system with 6 000 000 emails in a short period of time. So far, there were no limitations at all.

Finally reached the post-game heaven realm in Dragon Quest III re-make 🗺️

Working with MS Graph API for email messages feels like working with the arcane. You think something is not possible but then, by applying some bitwise OR integers, it suddenly is 🤷‍♂️

I added a new configuration option to Postal-Mime, my email parsing library for front-end/web-workers/serverless, to return attachments not as ArrayBuffer values but as base64 encoded strings. This allows to JSON-stringify the entire parsed email structure. github.com/postalsys/po...

I’ve been using MacBook Pro M1 Pro 16GB for the past 3 years and I still don’t see a single reason to upgrade. Maybe if I used virtual machines a lot but I don’t 🤔

Is this validation? A random person listed EmailEngine next to well-known software 🤓

I haven’t really played JRPG games before (except Pokemon games), but after completing Octopath Traveler 2, I’ve been getting into it. Currently playing the Dragon Quest 3 remake and having tons of fun with it.

TIL: If your business makes over $10k and you’re a cheapskate like me, you can still use ChartMogul without a paid plan—just stick to the mobile app. It works even without a subscription 😅

Ken Cheng is the only person doing LinkedIn correctly

I've been doing indoor rowing a lot this year to get in shape (more than 1500km), but it can be incredibly boring. My solution was to start watching action anime during my rowing sessions. It turned out that time really flies with flashy action scenes and a banger soundtrack.

What is this crap? I’m getting a ton of “delete my account” requests sent to EmailEngine’s support email. Some kind of attempt to force me to engage with them or what? All these are Gmail, Outlook, etc. addresses, but EmailEngine only allows “business email” logins so these accounts don’t even exist

As an european ECMAScript sounds way better than JavaScript 🫠

With the USD strengthening against the EUR recently, my goal of reaching $10k MRR is sliding further into the future, as I mainly operate in EUR 🫣

Huvitav kas sellist varianti pole, et saaks tasuta coachingu, aga laenu ei peaks võtma 🤔

Reading “Tales of Demons and Gods” is pure torture these days — just 30 seconds worth of content after a week of waiting. Even the smallest story arcs take forever to complete.

Thought I’d finally found a use case for Stripe’s instant payouts as SEPA payments take weeks to clear. But no—until the payment clears, there are no payout options. Which makes sense, but then what’s the point of instant payouts? Pay a fee to get funds two days earlier than you’d get them anyway?

This is why my solo business is old-school software, not service or SaaS: I’m on a two-week family vacation on the other side of the world, and left my laptop at home. Some support questions might go unanswered, but that’s it—and there aren’t many anyway.

Is it even possible to write complex regexes without triggering a ReDos vulnerabilty?

Struggling to find a new game to play after completing Zelda Echoes of Wisdom with nothing in the queue. We only have a Switch at home, so that limits my options. I've already completed everything in the Zelda series. I have a level 86 character in Diablo 2, but TBH, the grinding is getting boring.

Finally, my kids are old enough that they can teach _me_ about the ways of the world, not the other way around. On a related note, I learned that furries and therians exist.

I picked up indoor rowing in March to have some kind of physical activity, and it seems I recently passed the 1500 km mark. 🚣

The shared MS365 accounts feature in EmailEngine is now live. First, add the main account, and then all the shared accounts the main account has access to. EmailEngine treats all these as separate mail accounts but will use credentials from the main account. emailengine.app/shared-mailb...

I’ve been doing some serious OAuth2 wrangling to get seamless support for MS365 shared mailboxes into EmailEngine. The account might use IMAP and SMTP, or it might use the MS Graph API to list and send emails—so all possibilities need to be covered.

It took me a while to figure out the actual difference between BIMI VMC and CMC logos. So much fuss, yet so little technical information out there. The certificate structure includes an OID field ‘1.3.6.1.4.1.53087.1.13’, which is either ‘Registered Mark’ (for VMC) or ‘Prior Use Mark’ (for CMC).

I recently added a USD currency option for EmailEngine.app subscriptions, and the first thing I discovered was the high fees for transferring USD from Stripe to my Estonian bank account. So, I set up a USD account for my business with Wise, and suddenly, no transfer fees anymore!

I just spent way too long adding every guest to a Syntax starter pack If you want to follow the best devs in web development 👇🏻 go.bsky.app/SoASbQA

It’s difficult to provide support for ImapFlow.com, my open-source IMAP library for Node.js. People often ask how to do X with ImapFlow, where X is something I’ve put a lot of thought into and implemented in EmailEngine—my paid offering that puts bread on my table and pays my mortgage 🙄

Thread: 1️⃣ Owning the entire stack has its perks—as I do with EmailEngine. Recently, I received a report that EmailEngine wasn’t properly interacting with a lesser-known mail server software.

Changed my Bluesky handle to my own domain name.

I’m starting to think that building paid apps like EmailEngine is viable again. Previously any good idea was quickly copied into an open-source project. But now it seems there aren’t individuals who would actually do that anymore. Open-source software is dominated by corporations with narrow agendas