Best way to test emails without sending myself 1000s of transactional emails?

How do yall test emails without sending yourself 100s of emails?

I usually code up emails in react:

So I can’t really just open them in the browser unfortunately. I need to send them.

Note I’m looking to test them for visual stuff, not the transactional logic of when and who to send to.

I saw litmus but I wonder if this is going to be helpful given react emails?

Obviously, no email is sent as React/Angular/AnythingElse template.
You convert them into raw html first. So it doesn’t matter what testing platform you use. And ofcourse, there’s no reason to test emails in browser, in case test subject is usually what happens outside of browser environment(apps for mobile and desktop), overwise emails wouldn’t be as problematic as they are.

After working through this over the past few months, there just isn’t a great solution, unless you have quick access to all of the web/client email services you need to test against.

Litmus has been great for us, especially as we work through outlook stuff.

With google finally bending on css and media queries, this tutorial may not be quite so relevant moving forward, but it has been invaluable for us.

Obviously, no email is sent as React/Angular/AnythingElse template.
You convert them into raw html first.

Obviously. I meant that normally I would be able to open the file and view it statically, and because it is react I can’t do that. So what is a good way to test email where I need to send it.

Unfortunately, what I think you’re looking for just doesn’t really exist. Litmus is really one of the best tools for working with emails and still the workflow looks like:

A) Send to Litmus
B) Look at all previews
C) Notice issues (with Outlook, of course)
D) Make adjustments
E) Go to Step A

Outlook’s rendering engine is still based on Word, so there just isn’t a good way to “test” without putting your email’s html content through that engine, which is what litmus does for you.

You can view the html in your browser, and play with the size of the viewport, etc. to see what your email should look like at different sizes, but due to the extreme differences in email rendering across clients, this is pretty much worthless.

Yeah, this is just a prototype/beta so we can’t invest too much in 100% coverage. But thanks for the litmus work flow preview. This sounds like the way to go.

https://mailtrap.io/ is another service

Why not use blaze for emails? This package here is really cool and @johanbrook does a great job at maintaining it: https://github.com/lookback/meteor-emails :smile:

Definitely litmus, even the trial is good for this if you don’t buy it. If you are receiving and parsing emails on your sever, you can use ngroks, replay feature to repost messages without having to resend them.

One option also, we do is to make an inbound parse webhook at sendgrid. It will receive the email you send like a mailbox does, then it converts the message to Json/multipart form data, and POSTs to a public webhook you control. It does all of this just as fast as receiving a normal email. Once you receive the POST from sendgrid, can insert it into a mongodb collection and have it log to a webpage for inspection, even parsing the HTML body if needed in a template. You also get the benefit of storing the messages in a database for later review/logging.