Skip to main content
646

July 28th, 2023 × #email#history#nodejs

Supper Club × Email Sending, Spam, DMARC, SPF, Styling, and more with Andris Reinman

Andres Reinman discusses the history and complexity of email protocols and clients, building Nodemailer, DMARC authentication, avoiding spam filters, and his email products Email Engine and Ethereal Email.

or
Topic 0 00:00

Transcript

Announcer

I sure hope you're hungry.

Announcer

Oh, I'm starving.

Announcer

Wash those hands, pull up a chair, and secure that feed bag, because it's time to listen to Scott Tolinski and Wes Bos attempt to use human language to converse with and pick the brains of other developers. I thought there was gonna be food, so buckle up and grab that old handle because this ride is going to get wild.

Announcer

This is the Syntax supper club.

Guest 1

Welcome to Syntax. This is the podcast with the tastiest email Treats. Today, we have somebody who I have been following for probably, I don't know, probably 10 years now, And has built a lot of stuff that I've used, and, it's Andres Rainman. I probably butchered that, but I'll I'll let him give it Give it a, a go. So he is, I'll let him explain everything, but just a short list of of the sort of the stuff he does All centered around email. So we're gonna talk to him about email. And quite honestly, I think this is one of those podcasts where we're gonna end up Being like, man, we only scratch the surface of the things that we wanna talk about.

Guest 1

But he's he's the author of Node Mailer. This is a package I use to send Emails, via many of my applications. I've used it in several of my own courses.

Guest 1

He Has or has. We'll talk about Mailtrain, which is sort of like an open source Mailchimp.

Guest 1

He's the author of Ethereal Email, which is, you can, like it gives you, like, fake SMTP credentials. So, like, if you are testing email in development, You should not hook that up to real live credentials, especially if you're like, oh, just put the I'll just hook up to production real quick and then Boom. You accidentally sent out 30,000 emails.

Guest 1

He's the founder of an a new, company called Email Engine, and I'm sure there's there's quite a bit more. So, Andres, thank you so much for coming on. How's it going? It's, Yeah. It's going going good fine, and thank you for inviting me. And, yes, I'm,

Guest 2

Andres. And for the Last, 13 years already, I've been building and maintaining, Node Mailer.

Topic 1 02:20

Andres Reinman started Node Mailer 13 years ago

Guest 2

And just, when I When I started with the, it's just a short history lesson, is that, at that point, there, like, was no, Like, usable, aim email sending library for Node. Js. Node. Js was, like, super young at that that time. I think the version number, was, like, 0 point, 90 something, 92 point something.

Guest 2

And, and, I remember this drama when, the the version number of node was changing from 0.99, and everybody was thinking, go, okay. Now we go to version 1.

Guest 2

And now it was 0.100.

Guest 2

And there's, wow. What's going on? At that point, no no one has from that time. It's just prehistoric, in, in in no terms. Yeah. Right. Yeah.

Guest 3

So what's it like having a a package on NPM that gets 2,700,000 downloads a week?

Topic 2 03:21

Node Mailer gets 2.7 million npm downloads per week

Guest 2

Let I I was, let's let's say that at first, I was more much more happier when it was making, like, 50,000, a month or something. Because at that time, I said, wow. It's I built something, and everybody's downloading it. It's so cool. It's so cool. But now it's just numbers, basically. It's just It, it's it doesn't there's there's some kind of level.

Guest 2

Once you go, like, over it, it's it just stops having a meaning, basically.

Guest 2

So it's it's really nice, and I'm I'm really glad that people still find nowhere, useful.

Guest 2

And, It it's it's awesome, but I I I still remember the, like, pure pure joy that I had when I saw, like, it it went over 50,000 a month. So I said, wow. That's that's like a cage number. So

Guest 1

honestly, I have so much respect for you for two reasons. First, because You've been working on this thing forever, which is is not an easy thing to do in open source is to be able to continually chug away And improve and and change some project. It's exciting at first, but, as you get into it. And second, Email is so tricky. Email is so hard, and it's this, like, weird world, which I'm sure is full of millions and millions of weird edge cases. I saw you had a tweet about, like, a Korean email app the other day that you had to go in. So, maybe I'll start with that sort of open ended question is, Why is email so difficult?

Guest 2

I would say the first of all, email is, like, basically 50 years old by now. And this mean it it predates everything like the web, the HTTP, DNS, basically everything. And, and, it was like the first, I'm not sure the first, but it was, like, one of the first systems that, like, very large And needed scaling and and so on. And so people figure out how to kind of, like, solutions, how to make these things scalable before, like, The other people even know that scalability exists, basically.

Topic 3 04:51

Email predates the web and was an early system needing to scale

Guest 2

And and once you have, like, built this system, it's, like, really hard. The the choices that they made were not the best, but they basically worked. But now we we we when we have, like, better solutions, it's, like, Basically, not possible to backboard this this new stuff to to email.

Guest 2

People have been trying, but it's, it's it's it's like a basically, a, oil tanker. It just goes, and it's Impossible to, like, move it. It just goes directly, whatever direction it is, and that's it, basically.

Topic 4 05:58

Email and web evolved separately, hard to change email now

Guest 2

At, yeah, it's just, it's just This comparison, like, in when you're dealing with HTTP, then and in today's world, With HP, you have APIs and stuff. Like, we you can make, like, API request from a, front end application and so on. And this all Existed in email, like, 30 40 years ago.

Guest 2

But the thing is that, with h HTTP, we we use JSON has the, like, the more most common, syntax of the form data format.

Guest 2

But in, like, email, There's in Imap, specifically, the the format is from a program programming language called Lisp. So it's like, this huge list of packets. It makes no sense at all if you look at it, but it's, like, at this point, it was, like, the best, available option, like, What was in my net that so so and just it's gets it keeps going this way. But, that's the that's the main thing. I I I think that it's just, It's just too old, and it's a it's like a different pants entirely.

Guest 2

It, like, the web went one way, and the email Was already, going in a separate path.

Guest 2

And and it's it's impossible to change basically anything about it. It's just that there there is this, there is this attempt to, like, for example, move from, IMAP to, to from this list based syntax to to, HTTP based and to JSON syntax with JMAP. And this JMAP standard is already basically 10 years old, and it's supported only by Fastmail and some, like, minor vendors. But no, like, Pega render, it is not supporting it and don't plan to support it. They're just going to the old, old, old stuff. I never even thought about

Guest 1

The fact that you had to, like, basically, IMAP is its own language.

Guest 1

And in order for Us to use it, I just bing, bong, boom, make a transport, send an email as a method.

Guest 1

And, like, I think, oh, you just it just hit an API. But there's There is no API because you have you have to integrate with standards. Right? And and that is a very weird Syntax that you have to to work with. Same with I guess, SMTP is is similar. Right? Like, it's not Yeah. HTTP its own protocol.

Guest 2

Yes. These these are, like, really old type protocols that use the, like, like, command response kind of syntax and use the same TCP connection for a lot of stuff. So it's just basically open 1 single display connection, and then so send some kind of command, and you get the response. And then you will send the next command, and you get the response over.

Topic 5 08:27

IMAP uses complex Lisp syntax unlike JSON in HTTP APIs

Guest 2

And, especially, for for example, with the SMTP, there the you with with with the SMTP, what to do is to just send everything in Single package. You said you you sent that, the email is coming. Let let's say you're sending an email for the HTTPs. You said The, form address is this. The 2 address is that, and then there's the email content or whatever. But with with SMTP, you have to Basically, send us separate command for everything.

Guest 2

Say that, okay.

Guest 2

I now want to send mail. Hello. I'm this client, and now I'm sending from this address and server accepts it. And then now I'm going to send to this address, and, after I have, like, acceptance, I said, And this another attacks as well. And, once all the attacks are released, that'll be in this way, then only then I can just send the actual content. So It's like all this, like, back and forth kind of communication, instead of just sending 1 single data package That is, like, more used today with HDB. Since the time that you've started working in email,

Guest 3

like, what what Has changed in email.

Topic 6 09:57

SMTP requires many back-and-forth commands vs HTTP single request

Guest 2

The only the only real thing that has changed is the authentication standards like the T mark And, also, the domain g's signatures, SPF as well. These these are, like, all pretty old standards. But, with the email, as I said, it's like an this huge oil tanker.

Guest 2

It's just, the the fact that there already exist the standard, it does not mean that If anyone is using it, it it might mean that if it's useful, then in 10 years, people start using it, but not today.

Guest 2

That's a it's a so so but right now, you you can't send An email, basically, without, having a proper like, this authentication index and, DNS center set up for him to to to to signing, The SPF for, like, white listing our IP addresses and and Tmarker, Resating the policy, how to treat an email that does not match your, like, standards.

Topic 7 10:30

Email authentication standards like SPF and DKIM emerged over time

Guest 1

Let's talk about DMARC and bimi, b I m I, because those are pretty interesting things. And so I send I send a lot of email. I send it via, my Postmark account, which is my transactional email, I use Drip. That sends all of my marketing email. And then I have my actual, Gmail, Google Workspace account that sends me email, and all 3 of those need to send as westboss.com.

Guest 1

And, the kind of weird thing about it is from email, you can set the from address on literally any email. And I get these, like, script kiddies email me all the time being like, oh, I can send an email as you, but, like, it always lands in the spam box because There's this thing called Demark. Do you mind explaining what those things are? Maybe start with Demark, and then we'll get into SPF.

Guest 2

Maybe I I start even, like, like, further away is that how an e the email, resembles pretty much like an regular letter. You have an envelope, and you have an email inside well, message inside the envelope. And there's 2 kind of addresses. One address is on the envelope that says that where this email is going. And if you open up the letter, then in the letterhead, there might be the recipient's address as well. But this means nothing, basically. The the the postman is not looking what that has inside of the letterhead. Just only looks at the envelope. But what but if you, as the receiver, receive the envelope and take out the letter, then you don't look you see what the envelope says. You just see what whatever the letter tells you Who's the so, basically, it's just informational header that says that this is for you, but it It has no meaning in the sense of how the email is routed, routed. And so, T Mark, It's like a standard that that that is attempt to, prevent, like, you setting any kind of address that you like. SPF is actually only for the envelope address.

Guest 2

So, if you are using, like, paper, what you said, then they usually use, this special, they they on the envelope, They don't put your address as the sender at all. They put their own, like, intent random, looking address. And the the reason is that If the, email does not do like, is not accepted by the recipient, it's pounced, then the pounce is sent to the address that is on the envelope.

Guest 2

So with lens, it goes back to trip, and trip says, okay. I see that this email bounced. And this path is for, this specific the the the form address on the, on the envelope. But T Mark, checks the address on the, like, the letter itself. What's the what's, like, free then there? Who's the who's the sender? And, and validates that the the email must must be either, matching, SPF, which in case of, trip population usually is not because it's sent from their own, like, sending host, But, but, and also or it has to have this valid take the TKIAM signature, which is pretty common these days to to have. So if you don't have, if if both The SPF checks and the signature check is failing, then T mark tells the, like, the, mail server to accept the mail server What to do with this message? Should we accept it and ignore it and just somehow, like, send a notification to the sender that There there was a mismatch, or we should quarantine it, or we should just outside reject it. That's the these Three options, basically.

Guest 2

So so yeah. So so it's protecting the the sender on the, like, the leather head And not the envelope.

Guest 2

So this is why it's quite important because when you open an email in your email client, Then you don't see the those envelope addresses at all.

Guest 2

These these addresses do not survive the transport from mail server to the mail line. Mainland sees nothing about these addresses. It just sees whatever is in the letter, but it, yeah, has no transport information, so so So it can't validate these things itself.

Guest 2

So it's, so yeah. To so the DMARC is to, basically, to fix this situation.

Topic 8 15:35

DMARC checks sender address and validates SPF and DKIM

Guest 1

I use a service from Postmark where they do DMARC monitoring.

Guest 1

And this is interesting. If you are interested in making the switch to using DMARC, Because once you once you go in, you cannot send email from anything that is not DMARC approved. And if you you might have, Like a, a Shopify plug in. And you might have, like, all these, like, different things that are sending email as you. And you might not think about it. But as soon as you flip it on, then Your customers aren't getting it, so you can use this service to sort of monitor.

Guest 1

And every week, you get an email saying like, oh, 98% of your emails were sent, and then, like, 30 were sent from this IP address, but they failed.

Guest 1

And that's kind of nice to be able to monitor it For a couple weeks before you make the the whole thing. Even like, I have a little story. This morning, I woke up, logged on to Slack, And, Scott and Caitlin are working on moving, the email list over to ConvertKit. Oh, yeah. And I got a e I got a message From somebody who works at Century, and they said, hey.

Guest 1

We are seeing some emails that are not meeting DMARC And are they're coming from ConvertKit. Is that you? So immediately, it raised the flag internally. The security guy saw it And said, hey, somebody's sending emails from Syntax, and we haven't, like, approved that. So now we gotta go through the process of getting, DMARC approved. So it's just a good example of oh, is it actually you or somebody spoofing you? Which is funny, Wes. In,

Guest 3

Sorry. In in ConvertKit, they really hide the word demark everywhere. You cannot find detective you cannot find the word demark anywhere unless you go to their knowledge base and they they talk about the the steps in which you need to go through to verify your sending domain. But it's not like, in the settings, if you were to do a command find for anything, demark or whatever, where some of the other providers will make those standards kind of Front and center in terms of like, what was the this is it, not nail gun? What's the other one that we use? Mandrel? Postmark? Postmark. Yeah. Oh, yeah. Postmark. They make it very obvious when you when you first sign up.

Guest 3

You know, your emails are not verified. But with this, it's like, hey, ConvertKit kinda tucks it all away and tries to make it a little too Market y for me, I think.

Guest 2

Yeah. It's and it's quite typical that, mail gets lost this way. It's only if you have, Like setting a new company, and you set up everything correctly, and you know that what you're doing. But if a company is, like, 10 or 20 or more years old, Then there might be some kind of network printer sending you notifications about the ink level or something, and these emails are definitely not going to survive, Timark, indication.

Guest 1

It's a dicey dicey world.

Guest 1

And I wanna talk more about, like, email marketing because I pay Yeah. A stupid amount of money to drip every single month just to maintain my email address. And many times, I've done the math And look over at something that simply just sends email, Amazon SES, Postmark. There's tons of them that will send email for you, and you you pay by the email rather than having to pay a monthly cost for all that type of stuff. And You have worked on this thing called Mailtrain. I'm not sure if you're still working on it or whatever, but how come There's no, like, big open source Mailchimp or open source convert kit out there. And is that's what Mailtrain was supposed to be or is? I'm I'm not working on it anymore. The the other guys are still, so it's still developed, but I'm not actively,

Guest 2

like, I'm not actively related to the new release anymore, but, yeah, but May Mailtime was supposed to be, like, an or Parsley is, like, a replacement to these, providers, but, like, the, The value of, service like tape is not in the, like, email sending, but all the features and that it you on top of it, because there basically is no, good This, email, template editor over that which is open sourced, they all built their own, like, Block based editors, like, in house, and they have some some, like GPL, licensed, The open source editors as well, but this is, but these are not, like, super good, especially compared to the, like, the What the big provider is providing, they have, like, a unlimited budget to assign front. This is basically just purely Front end program. It's not it's not something that is, like, related to sending. It's how to build, like, a really good, The template editor, Macy's editor.

Guest 2

And the and the reason why this this editor is even needed is that, how email in the end is displayed in email clients. It's, it's it's not like a web page. It it it sure. It uses HTML, But it's, like, super limited, and you and you never know if, if, it's, like, shown as a, like, a full web page with all the HTML headers and stuff Or only only the body part. So so what this, and this block editors do is that they hide away this, like, this Framework, that's, sets the, like, the outline, how the and the backgrounds and so on, And you just stated this, space basically boxes, and tie and top around these, boxes, and they've, resulting like, what you see is Pretty much what you're going to see also in the email client. But if you were to took, like, a simple, visual editor that is used in blogs or, like, TMSs or whatever. These are building specific web pages. And if you're doing something really simple like Title and paragraph and so on, then it's going to look the same in email as well. But if you are doing, like, more complex design stuff, like The image is, neck next to each other and so on, then it's probably not going to look at all what you are seeing in your browser. I've been also, The email client is going to mess it all up, for these restrictions that it have in displaying emails.

Guest 2

Yeah. So so so you need a glue good, editor, and, and, that's that's basically what they're providing.

Guest 2

For example, trip, last time I checked, they it's not sending out the RIMA itself at all. The they're using sentry under the hood. And, there's this new key on the block, recent that's uses AWS SCS. So so it's like a layer. There there's, like, 2 layers. 1 is the, like, the dumb, transport layer that just sends sends out emails, but the Thing that you are paying the dollars for is the u, UI or the UX layer that What I wish you do, like, do the stuff that you need without, hustling and figuring out what's what what you can and can't do. Yeah. I think we might be asking the same question

Guest 1

so. Why can't we use CSS in email? Like, who's who's holding this? Who's responsible? Yeah. Who's responsible for it? That is exactly my question.

Guest 2

Yeah. You you you can use CSS, it's not but, but it's, quite limited there. And, again, this all comes to how How emails are displayed in email plans? Let's say that you're building a a webmail client like Gmail, And it means that you have this page layout. You have menu on the left and some other menu on the top, and then you have this, basically a this block, where you just inject the email content. But the email can contain ever anything that it it likes. It tends to be It can set that we have a style tag that says that body background is black. And now our, Webmail client, also has Black, background because the style tag applies globally, not just inside the team or something. So, so, they have 2 kind of approaches to, like, fix this, and the Gmail way is doing it. It basically has a white list of allowed CSS, rules, And it just throws everything out that's not, in the list, and that, some other Do it like containing the email in our, like, iframe or or some other, like, shut off DOM method or something to Somehow, like, container has it to to make it separate from the main page so that, the the test 2 link 1 is the that you can set that, set index is 1,000,000 and, position absolute and left null and top null, and Messing up the the page layout itself with styles, but other has also broken HTML.

Topic 9 23:04

Limited CSS support in email to prevent breaking client UIs

Guest 2

Let's say you have this poke and deal that you have a the a deal open tag, but you don't have the close tag. And, now you are injecting this because the stuff in your own web page and, it breaks everything because it's just the it's how how HTML works. So so so this is the like, basically, it's just containing it in, in WebMiles. And in test compliance, it's kind of different because It's, Derek depends on which kind of, handling engine, special, like, email client users. For example, I'm not I'm not sure about the latest versions, but, slightly older versions of Outlook all used some very old hand hang engine from Microsoft Word. So and Microsoft Word is not For web pages, so it's has its own limitations, what it can and can't, like, show.

Guest 2

And, and and so other clients have have basically similar issues. So so So it's that that they call comes down to that you are injecting some, like, unknown HTML to your web page, and you don't know what It's going to include or not include.

Guest 1

Do you think that that will ever change? Like, will will Microsoft ever

Guest 2

Take the word rendering engine out of Outlook and just start to use Yeah. Yeah. Chrome? Yeah. But but most probably, if they already haven't, then they eventually Will so this is not an issue, but the problem still is that how, what you can and cannot allow because the UI is In today's applications, especially if you're using, like, electron and stuff, it's also HTML and and CSS.

Guest 2

So the, like, the risk of, like, contaminating, your own UI From the stuff from the email is really high. And, and this is, as long as, as they Maybe only if you like, you build an email client that opens the c any email that you want to view in a complete setup window. And in this case, it no. It doesn't care, but it it doesn't matter what, what it actually uses. But as long as you are just using it as part of your own UI, it's going to be limited in some way or another. And, so everybody's doing it differently, then it's going to, Stay this mess as it is today.

Topic 10 27:09

Unlikely email will change much due to backward compatibility needs

Guest 1

Yeah. I remember CodePen had kinda similar issues, which is, like, how do you stop an autoplaying video From an embedded CodePen and, like, all these different things of what if something requests webcam access? That's JavaScript, I guess. But, like, Yeah. You're right. There's there's so much to think about, and you you sort of need this sandbox environment where, like, I I do want to be able to Use grid. But I don't want somebody to put a a button over top of my entire email client that Sends all my money to somebody. Yeah. Yeah. And the

Guest 2

other risk score is obviously the including JavaScript in the HTML. This is Usually, it's tipped out quite, good these days, but it's still there. Like, the the all these edge cases, how we can actually I think a JavaScript with this, event properties, like, on on mouse overhand. So on this, it's, Can be, sometimes quite tricky. And, also, in newer also, when the language evolves, do you have other problems? Because, in in, all the versions of, JavaScript, you can you could do things in 2 ways. It's I either like the quote symbol or the apostrophe for that. Just but now we can, use the tactics as well for this multiliner strings. And, and, you if you inject that kind of stuff into your HTML, and the The service that is cleaning the HTML from malicious scripts does not know about it yet or some old version, Then you're going to sneak in have some code that shouldn't be there, because it just doesn't understand that now we're gonna do strings this way as well. Let this so anytime the language evolves, the, like, the,

Guest 3

The surface of that needs to evolve a bit as well. So I I guess while we're still on marketing emails here, I think one of the questions I always had is, like, why Is this stuff seemingly so expensive typically? You know, when you get into upper echelons of Sending, you know I I I don't know what kind of numbers you're doing, Wes. But even at the numbers that, we were doing on level up tutorials for emails, You know, 40,000, 20,000, somewhere in that neighborhood, it's still extremely expensive. So, like, where where exactly does that cost come from? Do you know? It's, it's the service itself. You can basically take,

Guest 2

the AWS SES as the baseline for sending you whatever the, But you can send, like, a 1,000 emails per dollar or something.

Topic 11 29:49

Most email cost is for services/UX, not the sending itself

Guest 2

So all the money that you're paying is, for the to UX send the the service. Like, it's and the the market taste is what the the market is willing to pay. So so that's that's it, basically. So there is no other, like, because descending is for all these these services, descending pretty much cost costs the same.

Guest 2

It's, it's the it's the service itself that they are providing too. So The other thing about email marketing

Guest 1

is that it works Super well. And the reason it costs so much is because it makes 10 times what it costs to actually send it. So a company like Old Navy is able to spend I'm sure Old Navy spends, like, $1,000,000 a year just on on sending email. But if They probably make $1,000,000 in, like, 3 days while sending out these emails and especially companies like ConvertKit and Drip and whatnot, where Where they put a lot of automation and segmentation and all of that stuff that hooks into Ecom, it's just like a it's Such a big moneymaker for businesses that I know a lot of companies are just like, we will pay it, you know? And then, like, I also wonder, like, They they spend a crazy amount of effort to stop bad actors from using their services. Right? Like, There is a lot of spam that goes on, and they need to make sure that no bad guys

Guest 2

are using their their services. And I think there's a lot that goes on under the hood that they don't talk Yeah. Yeah. Yeah. There's 2 things there. It's 1 is that you mentioned this, like, big company that sends out a lot of mail. I think their, like, budget is way more than 3 millions of. It's, it's, there's there's also this technical side that let's say that you are, like, this 1 man shop like me, and then I said I have The newsletter with 300, 500 recipients.

Guest 2

If, I I I can get on the mail in free tier, but, There's always an option for me to just basically set up my own, mail server and start start sending mail mail there. But if you're a large company with millions of, customers, then you don't do it. Like, you can set up, like, a random email server and start start sending millions of emails. It's, it's very it's impossible. The all these emails are going to going to go to spam. So you have to pay for these providers, and the the the and the smaller ones, probably can't even do it. You have to go to the large ones, and they know how to extract money from their enterprise customers. So So these budgets are, huge, but they but it obviously pays off. So it's, it's it's not, they're not. They're doing it for a reason

Guest 1

all the time, ma'am. How how do you stay out of the spam box? Like, do you have any tips or ideas of how You stop your emails from going to spam?

Guest 2

Yeah. Use, the easiest way is to, oh, now now I remember what I wanted to say is that, fighting these spammers.

Guest 2

Let's say that you are, like, this, Mailchimp or whatever Big provider, and you have, enterprise customers and these big customers. And you can buy be like, definitely sure that these big customers are not spammers.

Topic 12 33:13

Big email users go through provider gateways, small users scrutinized

Guest 2

The incent they are not sending phishing emails, at least Yeah. Even if so so it's, a lot of easy to Manage these kind these kind of customers. The the customers that you have problems with are all the all the small small features that, the the, like, new sign ups and so on who are just starting out, so they can, like, relatively easily, like, Separate, these kind of, different kind of customers and say, okay. All our, like, big brands go go through this gateway, And, it has, like, 0 issue, and we don't even need to monitor it so much. But the old like, the new guys are going to go here, And and we don't actually, even, like, it doesn't matter if they email reaches the mailbox or not. So it's, it's easier to, like, do it. But, but, yeah, that that was what what I wanted to say. But, consider if you want to Stay out of, spam. Then the easiest, they still use, like, a good, sending provider.

Guest 2

Basically, I'm not recommending anyone. Every big name that you have heard of is is fine to use, because they have so much mail going out.

Guest 2

And if you, like, have issues, like, specifically with your email, then you can actually always contact their support And ask them to, like, move you to some other IP address or something just to they and if you are paying customer, then they gladly do it If if you have, like, have bad results because it also depends on who you are sending to. If you All your emails go mainly to Gmail, then you obviously care about that, Gmail accepts your emails. But and you don't care at all if Some Chinese qq.com is accepting, right, because you're not sending there. But the some other sender targets like Mainland Asia or something. And they took care about that this provider. So they like, where they if the email reaches or not. So So it, it depends.

Guest 2

So so the easiest way is just pick, any brand name provider, start using them, and if you have issues, then, just ask the support And, you resolve it. So so that's the that's the easiest way. And, obviously, don't send spam.

Topic 13 35:18

Use major provider, contact support to resolve deliverability issues

Guest 2

Don't send phishing emails, And, don't try to get rich fast, Twitter, with your emails because yeah.

Guest 1

Awesome.

Guest 1

Let's talk about email engine, which is your business. You wanna explain what that is and and who it's for? Yeah. It's,

Guest 2

in email, there's 2 sides. There's the, sending side and the receiving side, and all the money is in the sending side, and not so much is in the receiving side because there's not much what to ask or just So, email engine is, on the receiving side, and also, basically, it's an it's an application that, you can install on your, like, server or or whatever, and it provides an API to access, existing email, like, mailboxes.

Guest 2

So, and both for receiving and sending email.

Guest 2

So it's, like an like an provides an email client interface. It's, in but instead of the graphical UI, you have API.

Topic 14 36:36

Email Engine provides an API for sending and receiving email

Guest 2

You can set send an API request to to give me your the list of folders that this, account has or give me All the emails in this specific folder, and, all the data is, like regular JSON.

Guest 2

All the streams are unicode.

Guest 2

But are like regular binary files and so on and so on. So, so the it's just a basically a gateway, between mails, ever, and, and your application. So the application itself does not need to know anything about, like, these encodings and, and stuff that's going all On on the under the hood. So so I, so I started with the emailing, like, few years ago, and And now I'm full time committed to it.

Guest 2

So it's my main business, right now.

Guest 2

But, yeah, as I said, it's all the money is inside, not not so much in the receiving side. So the the good thing for me is that the I have only 1, big, alternative are, like, competitor.

Guest 2

So there isn't much going on there. It's really nice niche niche to be in. But if you're in comparisons to want to start a new sending service, then there's, like, a 1000000 sharks already in the booth. So it's It's a hard there, but but all also, there's more money to be, shared between the services.

Guest 1

Well and, like, give us an example of, who one of your customers might be and what they use it for.

Guest 2

Most of my customers are actually Some, SaaS, CRM companies, that want to integrate their, like, customers' uh-uh, mailboxes with their own service. Like, let's say that, For example, some, CRM, wants to see let's say it's sales CRM, and The sales guy is sending emails to their customers with from their, like, desktop Outlook. They're sending emails and receiving emails and, do all the stuff and but the CRM wants to see this traffic, like, these events in their, like, own system. So when the Sales possessor. I don't know how to say it.

Topic 15 38:09

Email Engine used by CRMs to sync user mailboxes

Guest 2

Goes to the CRM and checks who is, like, communicated to whom Or if, this specific, lead has been contacted, then you can say, okay. This, sales guy sent an email to them or received a response Or received a response 3 days ago, and no one has responded yet. So some something needs needs to be done with it. So it's It's it's this is, like, the most typical client is, this they they need they have different kind of names, but in the end, So see see at hems. Oh, I can see that. Like,

Guest 1

I I often have this with inside of my Missive app where I get an email from somebody and I go, have I Ever talk to this person again and I have to click a button and say, like, other conversations from the specific person, but they might have a different email address and it's kinda hard to To search that type of thing. So I could I could see that being really handy is that, like, where are the touch points on this type of thing? And, like, a CRM would even further, maybe even integrate other social interactions, maybe Twitter API, LinkedIn API, and email is just part of that. But No sane person is going to dip into building their own version of this. They just wanna be able to use a nice clean API that works with, what, any Imap SMTP server?

Guest 2

Yeah. Yes. Yes. It's, it's it's Very similar to desktop email brand where you can just hook up with an email account and start using it. It just It doesn't have a a graphic user interface.

Guest 1

And it's it's self hosted? Like, you could just you just get access to the code base if you you buy a license for this?

Guest 2

Yes. I the the actually, the older code is, can be viewed in GitHub. I published all the, like, code to GitHub, but But the application still needs a, like, license key that you can get from my company if you sign up. So to start test a free trial, 14 days, and, so, lot lots of people are just trying out and and and so on. So Wow. So I I'm not Good sales guy. So I can make a really good sales pitch.

Guest 1

No. That's good. That's good. It's, like, It's amazing that everything you do is open source, and or free to use. Even, like, Ethereal email, which is the, like, fake SMTP where you can get you get credentials. And if you send an email, you can check and see if it's it's sent Through that,

Guest 2

Yeah. It's it's it's not even actually SMTP. It's, post IMAP. It's a complete mail server, basically. When you hook up Thunderbird or Mac Mailer, iPhone mail to your the account that you just created, and all the emails that you're sending out from a service, come viewable in your mail client as well. So it's a it's a it's a basically, a compute.

Guest 2

If it's really easy to generate a new, like, email account there. It's just one click. And the mode Yeah. And if this would be, like, like, Real email accounts that people would use, then I would be one of the biggest email host in the world because I have, like, hundreds of millions Account's registered in in my system. So but but the the reason why I built it was actually for an old mailer. I I needed something to to test it. We have, like, really good, paid services out there, but, obviously, if you can, my motto has been that if you can't then invent it Invented the home, to do everything yourself, so I built a service myself.

Topic 16 42:23

Ethereal Email started as a way to test Nodemailer

Guest 2

And, it's, yeah, and to also made it public publicly usable, And it's been, like, already out there, like, sick all 5 or 6 years. I I think it's, Yeah.

Guest 2

Yeah. But sometimes in in some cases, I I I I get it because I used, it also for The doc in document note mail documentation for examples.

Guest 2

And it's all started out with a Gmail example.

Guest 2

When I started with, with no mailer, then it was, like, really popular to use Gmail accounts to send out emails. And I said made made an example that Set up no matter like this and just replace your username and password and start using and sending.

Guest 2

But, Gmail, built Quite a lot of, like, this heuristic, analyzers, to the system that is trying to Block, spam and, malicious users.

Guest 2

And so if you're, like, normally using Gmail from your, like, my, I don't know, home IP address, And then your the some kind of, from some cheap host is trying to use the same account To send an email, then Gmail blocks this email and because it seems suspicious for them. Just a Yeah. Basically, you even you don't even never get to, like, send the email. Just, Immediately, when you try to authenticate Gmail, it says, okay, sorry.

Guest 2

No access. It seems suspicious.

Guest 2

So And then started I started to get a lot of complaints from users that, oh, my code is working in, my development, but not in production. So what's going on? What's, so so I changed the, example from Gmail to email to send these emails.

Guest 2

And, this also backfired because for either email, people didn't understand that these emails are not actually sent anywhere.

Guest 2

They just said Noah sent out emails and just started complaining that, oh, my emails are have not no one, like, It seems to get my emails. What's going on? What's what's broken? So That's the point of it. Yeah. Yeah. So now it's, the example is The main example is some, third party, service. So make sure that you avoid this kind of, issues. Oh, I I love it because you can

Guest 1

like, in dev mode, you can get the URL to preview the email.

Guest 1

Like, So for me, when I'm working on my platform, I buy something, and then it sends an email with the access code. And I can Say if I'm in development, console log the ethereal dot email URL, and immediately I can just click on that from my terminal And view it. Right? Like, I don't have to to go to any service. And it's amazing that it's free because like, you do, like, Almost 200,000 messages a day. How how is it expensive to run something like this?

Topic 17 45:25

Ethereal Email costs low by deleting messages quickly

Guest 2

No. I we It's like, $100 a month or something. So it's, the the the the secret there is that, all those emails get deleted quite soon. So it's, this day in, like, few hours. So Yeah. If if at first, it was 7 days, and this was too expensive. It's, and so I Change it to, like like, few hours to, therefore, like, a lot of issues there just to keeping this. Somebody was sending, like, some people are sending, like, a 100,000 emails at that time. So it's just, like, huge spike. Like, basically the same message 100 times, just taking up all the space. So So so I had to limit it to a few of us. So

Guest 3

Oh, man. Interesting that storage was the I mean, I guess that makes sense. Right? It's all Yeah. HTML.

Guest 3

Unreal. So what is your favorite this is a funny question. What what's your favorite Email client to use personally.

Guest 2

I I I use, Mac Mail and iPhone Mail. It's the Yeah. It's the, yeah, They just, wants the I I I this just happened to I just happened to like them. There's no specific reason, And I'm not trying to convince anyone to start using this as well. Yeah. Totally. I mean, it it is funny because there's this,

Guest 3

world of complexity kind of behind the scenes, and then the end user really only cares about simplicity.

Guest 2

Yeah. You know? Yeah. Yeah. For for me, the one of the reasons to use Mac Mail is that Mac Mail can actually, like, log all Imap and SMP transactions to file. So you can just, open the connection doctor or something and just mark the checkbox that start logging, and then you can just go and tail the log file and see. For me, as I like a email developer, it's interesting to see, like, how they like to cover some edge cases, like, how they manage some specific attachment downloading from the server. So we can just go and just see from the logs what they're What they're doing, I I don't see it from Gmail.

Guest 2

Actually, it's, yeah, it's different because Gmail is using their own internal API, so it's It's different, but, but from, I don't it's different difficult from to to see what Outlook is doing. So so the Mac Mail is has all this The bugging stuff built in, and and, again, just take hints and, learn from it, because these are, like, pretty clever people who have built it.

Topic 18 47:31

Mac Mail useful for debugging with IMAP/SMTP logging

Guest 2

And it's all all also so old that that the Mac Mail client, it's it's they've been, like, upgrading it from, like, distribution distribution of of release release, but it's still the basically, it's the same client that's been there. Like, I don't know, tickets, basically. It just, evolved, and and it's, it can for example, McMahon support this, Super hold, attachments that, were used before attachments were invented at the the the The system that we use today for attachments is from the nineties. But before this, there there was this, when the emails only had this 1 single text part, there was nowhere to inject the attachment content. So, it was possible to use use the special, like, UU encoder, this UNIX to UNIX encode, As there's the blocks that you injected straight into into the text part of the email, and, and the Macmillan still handle this and, can make Just treat this as normal attachments like most, modern email clients cannot.

Guest 1

And who do you use for an email address?

Guest 2

I I happen to have, accounts with most of the most of the why does yeah. All of them.

Topic 19 49:17

Andres has accounts with most major email providers

Guest 2

But, my main account is in, in Gmail.

Guest 2

So it's, but I have accounts mainly for testing, but all Honest paid accounts, I pay every month to, like, I don't know, a $100 or some or 200 for this, Wow.

Guest 2

Mail, Outlook, Soho, some and so on.

Guest 1

AWS, Fort Mail, and so on and so on. That's like Quite a lot of, cornstarch. Yeah. Is is there any, like, obscure ones that you've had issues with from like, I know sometimes when I send email, I get a lot of Yeah. That's like a Korean one that I have to, like, click a button to make it send. Is there any, like, obscure ones that you have issues with? Yeah. The the most issues I have also with this Asian,

Topic 20 50:05

Asian email providers can be tricky with custom systems

Guest 2

providers because, yet again, They needed scalable mail systems way before, it was invented in the best, basically, because we had this, Like, a lot of, like, smaller providers when you just signed up there with your, like, network, like, home Internet provider or something, then you probably got an email address and so on. But the Asian ones, they have, like, consolidated to a few providers.

Guest 2

And it means that they had, like, huge numbers of customers early on, So they started building their own, mail server systems, and these are can be quite tricky to handle it because it's Kind of, standard pick, but with strange edge cases. With Attachment file names are sent and and which kind of, like, IMAP extensions they support and and so on and so on. So it's It's, the it's easy to to handle the, like, major providers in the west, but it's not so easy with And, also, for me, the it's difficult to get access to this, like, email service because I don't have any friends in in, I don't know, mainland China. So I don't think I have no one no one to communicate it. So it's, just basically

Share