1 00:00:00,111 --> 00:00:01,231 [SPEAKER_00] You know that feeling, right? 2 00:00:01,251 --> 00:00:03,072 [SPEAKER_00] That very specific kind of anxiety. 3 00:00:03,212 --> 00:00:04,132 [SPEAKER_01] Oh, I know the one. 4 00:00:04,533 --> 00:00:07,814 [SPEAKER_00] You're staring at a sign up form on some website. 5 00:00:08,234 --> 00:00:11,375 [SPEAKER_00] You just want to read one article or maybe get that 10% off coupon. 6 00:00:11,415 --> 00:00:11,995 [SPEAKER_01] And there it is. 7 00:00:12,195 --> 00:00:12,695 [SPEAKER_00] And there it is. 8 00:00:12,735 --> 00:00:15,136 [SPEAKER_00] That one field just staring back at you. 9 00:00:15,796 --> 00:00:16,917 [SPEAKER_00] Enter your email address. 10 00:00:17,057 --> 00:00:17,877 [SPEAKER_01] The gatekeeper. 11 00:00:18,237 --> 00:00:18,777 [SPEAKER_00] Exactly. 12 00:00:18,817 --> 00:00:19,478 [SPEAKER_00] It's the gatekeeper. 13 00:00:19,838 --> 00:00:20,538 [SPEAKER_00] And you pause. 14 00:00:21,873 --> 00:00:26,421 [SPEAKER_00] Because the second you hit submit, you're not just getting a coupon. 15 00:00:27,142 --> 00:00:28,003 [SPEAKER_00] You're signing a pact. 16 00:00:28,384 --> 00:00:36,317 [SPEAKER_00] You're inviting this deluge of newsletters and special offers and spam that's going to haunt your inbox forever. 17 00:00:36,575 --> 00:00:38,277 [SPEAKER_01] It's the modern digital tax, isn't it? 18 00:00:38,377 --> 00:00:41,701 [SPEAKER_01] We trade our attention and our privacy for just a little bit of access. 19 00:00:41,962 --> 00:00:42,602 [SPEAKER_00] And we do it. 20 00:00:42,863 --> 00:00:46,086 [SPEAKER_00] We just sigh and type it in because, you know, what's the alternative? 21 00:00:46,207 --> 00:00:48,409 [SPEAKER_01] The friction is just too high to find a workaround. 22 00:00:48,569 --> 00:00:48,790 [SPEAKER_00] Right. 23 00:00:49,150 --> 00:00:51,873 [SPEAKER_00] We've all wished for a burner phone, but for our email. 24 00:00:52,374 --> 00:00:55,618 [SPEAKER_00] A way to get the goods without handing over the keys to our digital castle. 25 00:00:55,838 --> 00:01:00,279 [SPEAKER_01] And most people turn to those temporary email sites you find on Google. 26 00:01:00,319 --> 00:01:01,540 [SPEAKER_00] Which are a total minefield. 27 00:01:01,820 --> 00:01:03,860 [SPEAKER_00] Ads, trackers, zero privacy. 28 00:01:03,900 --> 00:01:04,400 [SPEAKER_00] A nightmare. 29 00:01:04,540 --> 00:01:05,041 [SPEAKER_00] Precisely. 30 00:01:05,541 --> 00:01:09,062 [SPEAKER_00] But today, we're looking at something that flips that whole script. 31 00:01:09,702 --> 00:01:12,303 [SPEAKER_00] We're doing a deep dive into open trash mail. 32 00:01:12,443 --> 00:01:13,723 [SPEAKER_01] Right, from Hasek Solutions. 33 00:01:13,743 --> 00:01:20,925 [SPEAKER_00] Yeah, and it basically says, stop renting a trash can on a public street and just build your own recycling plant in your backyard. 34 00:01:21,169 --> 00:01:22,530 [SPEAKER_01] That's a very vivid way to put it. 35 00:01:22,610 --> 00:01:26,092 [SPEAKER_01] But yeah, we are talking about self-hosting your own disposable email server. 36 00:01:26,112 --> 00:01:27,613 [SPEAKER_00] Which sounds intimidating, I'll admit. 37 00:01:27,713 --> 00:01:28,793 [SPEAKER_01] It does, I know. 38 00:01:29,013 --> 00:01:33,296 [SPEAKER_01] But as we look through the code and the docs, it's, well, it's shockingly accessible. 39 00:01:33,356 --> 00:01:33,876 [SPEAKER_00] It really is. 40 00:01:34,256 --> 00:01:38,078 [SPEAKER_00] And that's our mission today, to break down how even a beginner can get this running. 41 00:01:38,779 --> 00:01:40,720 [SPEAKER_00] But first, a quick message from our supporter. 42 00:01:41,803 --> 00:01:42,944 [SPEAKER_00] Okay, so let's strip this down. 43 00:01:43,124 --> 00:01:44,384 [SPEAKER_00] The core concept here is trash mail. 44 00:01:44,404 --> 00:01:49,707 [SPEAKER_00] Which honestly sounds a little harsh for something I'm realizing is a privacy essential. 45 00:01:49,727 --> 00:01:51,128 [SPEAKER_00] It does imply garbage, doesn't it? 46 00:01:51,228 --> 00:01:52,228 [SPEAKER_00] But think of it like this. 47 00:02:08,689 --> 00:02:14,752 [SPEAKER_01] Your primary email, the one for your bank, your boss, your family, that's your front door. 48 00:02:15,432 --> 00:02:15,612 [SPEAKER_00] Right. 49 00:02:15,912 --> 00:02:16,452 [SPEAKER_00] Heavy lock. 50 00:02:16,692 --> 00:02:17,392 [SPEAKER_00] I vet everyone. 51 00:02:17,472 --> 00:02:18,053 [SPEAKER_01] Exactly. 52 00:02:18,073 --> 00:02:19,373 [SPEAKER_01] You paint it nice colors. 53 00:02:19,453 --> 00:02:23,194 [SPEAKER_01] Now, imagine you put a plastic bucket at the very end of your driveway. 54 00:02:23,354 --> 00:02:26,794 [SPEAKER_01] OK. And you just write flyers and coupons on the side with a Sharpie. 55 00:02:27,474 --> 00:02:28,355 [SPEAKER_01] That's a trash mail. 56 00:02:28,675 --> 00:02:29,655 [SPEAKER_00] Oh, I see where you're going. 57 00:02:29,775 --> 00:02:30,915 [SPEAKER_00] I check it when I want to. 58 00:02:30,975 --> 00:02:33,676 [SPEAKER_00] But if someone dumps sludge in it, I don't really care. 59 00:02:34,096 --> 00:02:34,996 [SPEAKER_00] It never touches the house. 60 00:02:35,216 --> 00:02:36,116 [SPEAKER_01] You just hose it out. 61 00:02:36,176 --> 00:02:36,796 [SPEAKER_01] That's the idea. 62 00:02:36,856 --> 00:02:37,076 [SPEAKER_00] OK. 63 00:02:37,176 --> 00:02:38,377 [SPEAKER_00] I love that analogy. 64 00:02:38,977 --> 00:02:45,018 [SPEAKER_00] But here's the thing that really stood out to me from the source material, the thing that sets open trash mail apart. 65 00:02:46,179 --> 00:02:48,240 [SPEAKER_00] Most people know services like Mailinator, right? 66 00:02:48,340 --> 00:02:49,501 [SPEAKER_01] Yep, or 10-minute mail. 67 00:02:49,521 --> 00:02:50,442 [SPEAKER_01] Those are buckets, too. 68 00:02:50,702 --> 00:02:51,663 [SPEAKER_00] But they're public buckets. 69 00:02:51,763 --> 00:02:53,304 [SPEAKER_01] That's the critical flaw, yes. 70 00:02:53,404 --> 00:03:00,229 [SPEAKER_00] So if I use, say, Bob123 at public-trash.com, anyone who guesses Bob123 can look inside my bucket. 71 00:03:00,289 --> 00:03:04,192 [SPEAKER_01] They can see your verification link, your password reset, everything. 72 00:03:04,273 --> 00:03:06,314 [SPEAKER_00] So I could theoretically hijack an account that way. 73 00:03:06,714 --> 00:03:07,175 [SPEAKER_01] Absolutely. 74 00:03:07,195 --> 00:03:11,338 [SPEAKER_01] You're trying to protect your privacy, and you end up just destroying your security. 75 00:03:11,878 --> 00:03:12,639 [SPEAKER_00] So how is this different? 76 00:03:13,285 --> 00:03:14,826 [SPEAKER_01] Open trash mail is self-hosted. 77 00:03:15,026 --> 00:03:18,809 [SPEAKER_01] That means the bucket is on your private property behind a fence. 78 00:03:19,289 --> 00:03:20,410 [SPEAKER_01] You own the server. 79 00:03:20,470 --> 00:03:21,631 [SPEAKER_01] You own the data. 80 00:03:21,911 --> 00:03:23,732 [SPEAKER_00] And I control who gets to look inside. 81 00:03:23,752 --> 00:03:24,373 [SPEAKER_00] Assisely. 82 00:03:24,753 --> 00:03:25,694 [SPEAKER_00] Now, I have to be honest. 83 00:03:26,554 --> 00:03:30,977 [SPEAKER_00] Hosting an email server, those four words usually make my palms sweat. 84 00:03:31,818 --> 00:03:34,500 [SPEAKER_00] I've always heard that's the final boss of system administration. 85 00:03:34,673 --> 00:03:37,154 [SPEAKER_01] Historically, yes, absolute nightmares. 86 00:03:37,174 --> 00:03:40,576 [SPEAKER_01] You're dealing with postfix, Dovecot, complex configs. 87 00:03:41,257 --> 00:03:42,737 [SPEAKER_01] It's a career, not a hobby. 88 00:03:42,757 --> 00:03:43,558 [SPEAKER_00] So what's different here? 89 00:03:44,168 --> 00:03:45,389 [SPEAKER_01] This is why this tool is so cool. 90 00:03:45,629 --> 00:03:47,509 [SPEAKER_01] It's designed to be anti-complexity. 91 00:03:47,690 --> 00:03:50,851 [SPEAKER_01] It's for the person who has maybe never run a server before. 92 00:03:50,991 --> 00:03:51,611 [SPEAKER_00] How does it do that? 93 00:03:51,651 --> 00:03:53,432 [SPEAKER_00] How does it strip that complexity away? 94 00:03:53,632 --> 00:03:56,453 [SPEAKER_01] For starters, it's a Python script, a very clever one. 95 00:03:56,673 --> 00:03:58,554 [SPEAKER_01] It acts as an SMTP server. 96 00:03:58,574 --> 00:04:00,975 [SPEAKER_01] That's the language of email delivery. 97 00:04:01,395 --> 00:04:03,056 [SPEAKER_01] But it just ignores all the heavy stuff. 98 00:04:03,176 --> 00:04:03,556 [SPEAKER_01] Like what? 99 00:04:03,776 --> 00:04:04,957 [SPEAKER_01] For example, there's no database. 100 00:04:05,231 --> 00:04:06,012 [SPEAKER_00] Wait, no database. 101 00:04:06,032 --> 00:04:06,632 [SPEAKER_00] I'm looking at the notes. 102 00:04:06,652 --> 00:04:08,034 [SPEAKER_00] Where do the emails even go? 103 00:04:08,334 --> 00:04:08,714 [SPEAKER_01] Files. 104 00:04:08,974 --> 00:04:10,876 [SPEAKER_01] It's 100% file-based. 105 00:04:11,337 --> 00:04:16,822 [SPEAKER_01] An email comes in, open trash mail says, thanks, and just saves it as a JSON file in a folder. 106 00:04:17,062 --> 00:04:20,345 [SPEAKER_00] That seems almost too simple, but also 107 00:04:21,684 --> 00:04:22,345 [SPEAKER_00] kind of genius. 108 00:04:22,645 --> 00:04:23,866 [SPEAKER_01] It's so efficient. 109 00:04:23,966 --> 00:04:25,988 [SPEAKER_01] I mean, think about it from a beginner's perspective. 110 00:04:26,508 --> 00:04:30,912 [SPEAKER_01] No setting up SQL, no managing tables, no worrying about migrations. 111 00:04:30,992 --> 00:04:32,834 [SPEAKER_00] If I want to back it up, I just copy the folder. 112 00:04:32,954 --> 00:04:33,675 [SPEAKER_01] You copy the folder. 113 00:04:33,695 --> 00:04:35,436 [SPEAKER_01] If you want to wipe it, you delete the files. 114 00:04:35,516 --> 00:04:37,318 [SPEAKER_01] The technical debt is basically zero. 115 00:04:37,358 --> 00:04:44,084 [SPEAKER_00] OK, so if I'm listening to this and I've got a Raspberry Pi or a cheap server somewhere, how hard is the actual launch? 116 00:04:44,264 --> 00:04:44,965 [SPEAKER_01] Not hard at all. 117 00:04:45,065 --> 00:04:47,507 [SPEAKER_01] And this is the method they highlight in the source, Docker. 118 00:04:47,938 --> 00:04:48,698 [SPEAKER_00] Ah, Docker. 119 00:04:49,378 --> 00:04:50,218 [SPEAKER_00] The magic word. 120 00:04:50,458 --> 00:04:52,799 [SPEAKER_01] It's the cheat code for modern computing, really. 121 00:04:52,819 --> 00:04:55,919 [SPEAKER_01] If you have Docker installed, getting this running is literally a one-liner. 122 00:04:56,240 --> 00:04:56,740 [SPEAKER_00] One command. 123 00:04:56,760 --> 00:04:57,360 [SPEAKER_01] Docker run. 124 00:04:57,680 --> 00:05:01,761 [SPEAKER_01] You map two ports, port 80 for the website, port 25 to receive mail. 125 00:05:01,781 --> 00:05:02,641 [SPEAKER_01] You hit enter. 126 00:05:02,801 --> 00:05:03,321 [SPEAKER_01] It runs. 127 00:05:03,381 --> 00:05:03,681 [SPEAKER_01] That's it. 128 00:05:03,921 --> 00:05:05,741 [SPEAKER_00] That is deceptively simple. 129 00:05:06,461 --> 00:05:11,582 [SPEAKER_00] But there is one piece of, let's say, internet plumbing you have to deal with, the MX record. 130 00:05:11,822 --> 00:05:12,042 [SPEAKER_01] Right. 131 00:05:12,223 --> 00:05:13,063 [SPEAKER_01] You can't avoid that. 132 00:05:13,103 --> 00:05:14,443 [SPEAKER_01] That's just how the internet works. 133 00:05:14,854 --> 00:05:15,694 [SPEAKER_00] Can you break that down? 134 00:05:15,914 --> 00:05:20,296 [SPEAKER_00] Because MX Record sounds like something I need a certification to touch. 135 00:05:20,556 --> 00:05:21,897 [SPEAKER_01] It's actually really straightforward. 136 00:05:22,277 --> 00:05:24,318 [SPEAKER_01] Think of the internet like the postal service. 137 00:05:24,818 --> 00:05:25,879 [SPEAKER_01] You own a domain, right? 138 00:05:25,979 --> 00:05:29,100 [SPEAKER_01] Say, my-private-castle.com. 139 00:05:29,300 --> 00:05:33,942 [SPEAKER_01] OK. You just have to tell the internet's post office where to deliver the mail for that domain. 140 00:05:34,262 --> 00:05:36,023 [SPEAKER_01] And MX Record is just a sign post. 141 00:05:36,083 --> 00:05:44,086 [SPEAKER_01] It says, if you have a letter for anyone at my-private-castle.com, please drop it off at this specific IP address. 142 00:05:44,226 --> 00:05:47,109 [SPEAKER_00] So I just point the signpost to my new open crash mail server? 143 00:05:47,249 --> 00:05:47,669 [SPEAKER_01] Correct. 144 00:05:48,050 --> 00:05:50,272 [SPEAKER_01] And once you do that, the real magic happens. 145 00:05:50,793 --> 00:05:54,136 [SPEAKER_01] Because open trash mail is built on a wild card philosophy. 146 00:05:54,376 --> 00:05:55,838 [SPEAKER_00] This is the part I think is a game changer. 147 00:05:56,098 --> 00:05:56,298 [SPEAKER_00] Yeah. 148 00:05:56,438 --> 00:05:57,059 [SPEAKER_00] The wild card. 149 00:05:57,099 --> 00:05:57,379 [SPEAKER_01] Yes. 150 00:05:57,940 --> 00:06:02,624 [SPEAKER_01] Normally, with an email server, you have to create an account for Bob and account for Alice. 151 00:06:02,884 --> 00:06:06,408 [SPEAKER_00] And if mail comes for Steve's and Steve doesn't exist, it gets rejected. 152 00:06:06,628 --> 00:06:07,310 [SPEAKER_01] It bounces. 153 00:06:07,370 --> 00:06:08,632 [SPEAKER_01] OpenTrashMail is different. 154 00:06:08,673 --> 00:06:10,196 [SPEAKER_01] It accepts everything. 155 00:06:10,476 --> 00:06:10,857 [SPEAKER_00] Everything. 156 00:06:10,917 --> 00:06:12,140 [SPEAKER_01] Everything sent to your domain. 157 00:06:12,480 --> 00:06:14,344 [SPEAKER_01] You don't have to configure a single address. 158 00:06:14,364 --> 00:06:17,130 [SPEAKER_01] You don't have to log in and click create new user. 159 00:06:17,571 --> 00:06:17,932 [SPEAKER_01] Nothing. 160 00:06:18,304 --> 00:06:19,144 [SPEAKER_00] OK, let's play this out. 161 00:06:19,565 --> 00:06:20,545 [SPEAKER_00] I'm at a store checkout. 162 00:06:20,925 --> 00:06:21,746 [SPEAKER_00] They asked for my email. 163 00:06:21,786 --> 00:06:22,686 [SPEAKER_00] I haven't prepared anything. 164 00:06:22,766 --> 00:06:24,847 [SPEAKER_01] You just make it up right there on the spot. 165 00:06:25,547 --> 00:06:29,849 [SPEAKER_01] Cashier number five at my-private-castle.com. 166 00:06:30,029 --> 00:06:32,290 [SPEAKER_00] And the server just catches it. 167 00:06:32,510 --> 00:06:36,032 [SPEAKER_01] It catches it, creates a little file for cashier number five, and you're done. 168 00:06:36,052 --> 00:06:38,233 [SPEAKER_01] You have an infinite number of identities. 169 00:06:38,293 --> 00:06:40,654 [SPEAKER_00] That's brilliant for tracking who sells your data. 170 00:06:40,774 --> 00:06:41,235 [SPEAKER_01] Exactly. 171 00:06:41,615 --> 00:06:46,800 [SPEAKER_01] If I give one email to a shoe store and suddenly that address gets spam about car insurance. 172 00:06:46,840 --> 00:06:48,101 [SPEAKER_00] You know exactly who leaked it. 173 00:06:48,281 --> 00:06:48,822 [SPEAKER_00] You caught them. 174 00:06:49,022 --> 00:06:49,542 [SPEAKER_01] Red-handed. 175 00:06:49,983 --> 00:06:51,464 [SPEAKER_01] And you just abandon that address. 176 00:06:51,724 --> 00:06:52,305 [SPEAKER_01] No harm done. 177 00:06:52,745 --> 00:06:56,269 [SPEAKER_00] Okay, so the mail is on my server as a file. 178 00:06:57,250 --> 00:06:58,251 [SPEAKER_00] How do I actually read it? 179 00:06:58,491 --> 00:06:59,552 [SPEAKER_00] Do I need to be a programmer? 180 00:06:59,982 --> 00:07:00,823 [SPEAKER_01] Thankfully, no. 181 00:07:01,103 --> 00:07:02,324 [SPEAKER_01] This is a tool for humans. 182 00:07:02,584 --> 00:07:04,166 [SPEAKER_01] It comes with a built-in web UI. 183 00:07:04,226 --> 00:07:09,230 [SPEAKER_01] You just open your browser, type in your server's address, and you see this clean, modern interface. 184 00:07:09,470 --> 00:07:12,853 [SPEAKER_00] And I did notice in the feature list, it has something you always appreciate. 185 00:07:13,253 --> 00:07:14,514 [SPEAKER_01] Please tell me it's dark mode. 186 00:07:14,855 --> 00:07:16,376 [SPEAKER_00] Automatic dark-light mode switcher? 187 00:07:16,596 --> 00:07:16,896 [SPEAKER_01] Yes. 188 00:07:17,357 --> 00:07:18,137 [SPEAKER_01] It's the little things. 189 00:07:18,358 --> 00:07:20,519 [SPEAKER_01] It shows the developer actually uses their own tool. 190 00:07:21,271 --> 00:07:24,012 [SPEAKER_00] So you just type in the address you made up, cashier number five. 191 00:07:24,232 --> 00:07:27,193 [SPEAKER_01] And boom, there is the inbox for that specific alias. 192 00:07:27,293 --> 00:07:30,715 [SPEAKER_01] You can read the emails, download attachments safely, all of it. 193 00:07:30,935 --> 00:07:35,617 [SPEAKER_00] But there was one feature in there that really made me go, whoa, the RSS feed. 194 00:07:35,757 --> 00:07:36,437 [SPEAKER_01] Oh, absolutely. 195 00:07:36,477 --> 00:07:38,058 [SPEAKER_01] This is the hidden gem, for sure. 196 00:07:38,338 --> 00:07:42,760 [SPEAKER_00] Explain this, because I associate RSS with podcasts or blogs. 197 00:07:43,680 --> 00:07:46,181 [SPEAKER_00] Why would my email need an RSS feed? 198 00:07:46,726 --> 00:07:47,746 [SPEAKER_01] Think about newsletters. 199 00:07:47,846 --> 00:07:50,487 [SPEAKER_01] They're technically emails, but they're not really communication. 200 00:07:50,548 --> 00:07:51,288 [SPEAKER_01] They're content. 201 00:07:51,308 --> 00:07:52,128 [SPEAKER_01] They're articles. 202 00:07:52,228 --> 00:07:52,468 [SPEAKER_00] Right. 203 00:07:52,648 --> 00:07:54,369 [SPEAKER_00] They're meant to be read, not replied to. 204 00:07:54,709 --> 00:07:59,451 [SPEAKER_00] But they clog up my inbox next to an urgent email from my boss and stresses me out. 205 00:07:59,591 --> 00:08:00,071 [SPEAKER_01] Exactly. 206 00:08:00,231 --> 00:08:03,913 [SPEAKER_01] Open Crash Mail generates a unique RSS feed for every single inbox. 207 00:08:04,253 --> 00:08:11,736 [SPEAKER_01] So you can take the RSS link for, say, newsletters at my-private-castle.com and plug it into your favorite RSS reader. 208 00:08:11,896 --> 00:08:16,925 [SPEAKER_00] So instead of getting a notification every time a newsletter arrives, it just quietly shows up in your newsfeed. 209 00:08:17,066 --> 00:08:19,911 [SPEAKER_01] You read it on your own time in a nice clean layout, just like a blog. 210 00:08:20,211 --> 00:08:23,718 [SPEAKER_01] It separates the consumption stream from the communication stream. 211 00:08:24,023 --> 00:08:25,084 [SPEAKER_00] That's profound. 212 00:08:25,764 --> 00:08:31,349 [SPEAKER_00] It makes inbox zero the default state, because the junk never even makes it to the inbox. 213 00:08:31,449 --> 00:08:31,929 [SPEAKER_01] Precisely. 214 00:08:31,949 --> 00:08:34,791 [SPEAKER_01] It's a much healthier way to consume that kind of information. 215 00:08:34,911 --> 00:08:36,132 [SPEAKER_00] OK, I'm setting that up this weekend. 216 00:08:36,733 --> 00:08:39,975 [SPEAKER_00] Now, we've been talking about this from a user's perspective. 217 00:08:40,816 --> 00:08:44,179 [SPEAKER_00] But looking at the source, this tool has a secret identity. 218 00:08:44,319 --> 00:08:44,659 [SPEAKER_01] It does. 219 00:08:44,739 --> 00:08:45,840 [SPEAKER_01] It's not just a trash can. 220 00:08:45,880 --> 00:08:47,081 [SPEAKER_01] It's a developer platform. 221 00:08:47,525 --> 00:08:49,227 [SPEAKER_00] Let's pivot to that power user side. 222 00:08:49,907 --> 00:08:51,428 [SPEAKER_00] Why would a developer care about this? 223 00:08:51,649 --> 00:08:54,211 [SPEAKER_01] It's all about the API, the JSON API. 224 00:08:54,231 --> 00:08:55,052 [SPEAKER_00] So it's the use case. 225 00:08:55,452 --> 00:08:55,712 [SPEAKER_01] OK. 226 00:08:56,273 --> 00:08:57,774 [SPEAKER_01] Imagine you're building a new app. 227 00:08:57,974 --> 00:09:01,117 [SPEAKER_01] You have a sign up flow where you send a verify your account link. 228 00:09:01,377 --> 00:09:02,218 [SPEAKER_00] Standard stuff. 229 00:09:03,479 --> 00:09:04,720 [SPEAKER_00] But testing it is a total pain. 230 00:09:05,126 --> 00:09:06,386 [SPEAKER_01] It's so slow and manual. 231 00:09:06,447 --> 00:09:09,208 [SPEAKER_01] With OpenTrashMail, you can automate that entire loop. 232 00:09:09,548 --> 00:09:14,049 [SPEAKER_01] Your test script tells your app to register testbot1 at my-trashmail.com. 233 00:09:14,749 --> 00:09:19,631 [SPEAKER_01] Then the script immediately calls the OpenTrashMail API and asks, hey, did you get an email for testbot1? 234 00:09:19,831 --> 00:09:21,552 [SPEAKER_00] And the API just sends back the data. 235 00:09:21,832 --> 00:09:29,995 [SPEAKER_01] The whole email, as a JSON object, your script can then parse the text, find the verification URL, and click it programmatically. 236 00:09:30,355 --> 00:09:32,676 [SPEAKER_01] You can test your sign-up flow 1,000 times a minute. 237 00:09:32,927 --> 00:09:35,629 [SPEAKER_00] The source also mentioned programmatically solving 2FA. 238 00:09:36,590 --> 00:09:37,270 [SPEAKER_00] Same idea. 239 00:09:37,370 --> 00:09:38,511 [SPEAKER_01] Same exact mechanism. 240 00:09:39,071 --> 00:09:46,216 [SPEAKER_01] If a service emails you a six-digit code, your script just grabs it from the API and pastes it into the login field. 241 00:09:46,917 --> 00:09:51,100 [SPEAKER_01] It turns email from a human bottleneck into a machine-readable data stream. 242 00:09:51,445 --> 00:09:52,886 [SPEAKER_00] That's incredibly powerful. 243 00:09:53,206 --> 00:09:55,028 [SPEAKER_00] And then there's this other term I saw, webhooks. 244 00:09:55,708 --> 00:09:57,009 [SPEAKER_00] How is it different from the API? 245 00:09:57,169 --> 00:09:58,690 [SPEAKER_01] So the API is pull. 246 00:09:58,890 --> 00:10:01,312 [SPEAKER_01] You have to keep asking the server, do you have mail yet? 247 00:10:01,512 --> 00:10:02,293 [SPEAKER_01] Do you have mail yet? 248 00:10:02,533 --> 00:10:03,694 [SPEAKER_00] And webhooks are push. 249 00:10:04,054 --> 00:10:04,615 [SPEAKER_01] Exactly. 250 00:10:04,775 --> 00:10:06,036 [SPEAKER_01] Don't call us, we'll call you. 251 00:10:06,376 --> 00:10:07,637 [SPEAKER_01] You tell open trash mail. 252 00:10:07,857 --> 00:10:12,220 [SPEAKER_01] The millisecond an email arrives for this address, fire a notification to this URL I control. 253 00:10:12,460 --> 00:10:16,183 [SPEAKER_00] So you could say, if an email comes to alerts at my-server.com, 254 00:10:16,576 --> 00:10:19,297 [SPEAKER_01] take the subject line and post it directly to my Slack channel. 255 00:10:19,497 --> 00:10:23,158 [SPEAKER_01] Or if a receipt comes in, push the body text into my accounting software. 256 00:10:23,298 --> 00:10:24,959 [SPEAKER_00] It basically turns email into a trigger. 257 00:10:25,359 --> 00:10:29,901 [SPEAKER_01] It creates a bridge from the old world of SMTP to the modern world of web apps. 258 00:10:30,381 --> 00:10:32,742 [SPEAKER_01] And I appreciate that they mention the security. 259 00:10:33,102 --> 00:10:36,703 [SPEAKER_01] It uses an HMAC SHA256 signature. 260 00:10:36,783 --> 00:10:37,824 [SPEAKER_00] Which in plain English is. 261 00:10:38,064 --> 00:10:39,384 [SPEAKER_01] A digital wax seal. 262 00:10:39,785 --> 00:10:46,107 [SPEAKER_01] Your app can check the seal to make sure the notification actually came from your server and not some hacker trying to trick your system. 263 00:10:46,448 --> 00:10:48,129 [SPEAKER_00] So is robust enough for real work? 264 00:10:48,169 --> 00:10:48,729 [SPEAKER_00] Absolutely. 265 00:10:48,769 --> 00:10:50,671 [SPEAKER_00] Speaking of robust, I want to circle back to security. 266 00:10:51,191 --> 00:10:52,392 [SPEAKER_00] We're calling this trash mail. 267 00:10:52,572 --> 00:10:55,073 [SPEAKER_00] But is the connection itself garbage? 268 00:10:55,113 --> 00:10:59,916 [SPEAKER_00] I mean, I don't want a password reset link flying across the internet and playing text. 269 00:10:59,956 --> 00:11:00,817 [SPEAKER_01] That's a great question. 270 00:11:00,957 --> 00:11:02,718 [SPEAKER_01] And no, the connection is solid. 271 00:11:02,958 --> 00:11:05,920 [SPEAKER_01] OpenTrashMail supports both TLS and StartTLS. 272 00:11:06,200 --> 00:11:07,081 [SPEAKER_00] Can you break those down? 273 00:11:07,470 --> 00:11:11,913 [SPEAKER_01] Sure, start TLS is like, you start talking normally, then you agree to whisper. 274 00:11:12,253 --> 00:11:16,696 [SPEAKER_01] You start on the standard port 25, and then upgrade the connection to be encrypted. 275 00:11:16,936 --> 00:11:17,456 [SPEAKER_00] And TLS? 276 00:11:17,856 --> 00:11:23,060 [SPEAKER_01] TLS on Kinect, which is usually port 465, is like meeting in a soundproof room from the start. 277 00:11:23,080 --> 00:11:25,821 [SPEAKER_01] The whole conversation is encrypted from the very first word. 278 00:11:26,021 --> 00:11:27,903 [SPEAKER_00] And you can use free Let's Encrypt certificates for that? 279 00:11:28,203 --> 00:11:28,383 [SPEAKER_01] Yep. 280 00:11:28,923 --> 00:11:32,786 [SPEAKER_01] So the transport is just as secure as Gmail or any other major provider. 281 00:11:32,866 --> 00:11:34,487 [SPEAKER_00] OK, one more setting I found fascinating. 282 00:11:34,827 --> 00:11:36,388 [SPEAKER_00] The ADMIN catch-all. 283 00:11:37,883 --> 00:11:39,946 [SPEAKER_01] The honey pot. 284 00:11:40,126 --> 00:11:43,051 [SPEAKER_00] Why would I want to see every email hitting my server? 285 00:11:43,151 --> 00:11:44,413 [SPEAKER_00] Isn't the point to filter things? 286 00:11:44,453 --> 00:11:45,735 [SPEAKER_01] Well, it has a few uses. 287 00:11:46,316 --> 00:11:49,040 [SPEAKER_01] If you leave a server on the internet, the bots will find you. 288 00:11:49,120 --> 00:11:53,807 [SPEAKER_01] They'll start trying to send mail to admin at at clit info at killing bowing at that. 289 00:11:54,083 --> 00:11:55,644 [SPEAKER_00] They're just guessing common addresses. 290 00:11:55,824 --> 00:11:56,785 [SPEAKER_01] Relentlessly. 291 00:11:57,625 --> 00:12:00,367 [SPEAKER_01] And the admin view lets you watch all of this traffic. 292 00:12:00,887 --> 00:12:03,989 [SPEAKER_01] You can see spam trends and phishing campaigns in real time. 293 00:12:04,369 --> 00:12:07,211 [SPEAKER_01] It's like having a window into the internet's background radiation. 294 00:12:07,291 --> 00:12:10,172 [SPEAKER_00] And I suppose if you made a typo at the register, you could find the email that way too. 295 00:12:10,412 --> 00:12:10,873 [SPEAKER_01] Exactly. 296 00:12:10,893 --> 00:12:13,174 [SPEAKER_01] You never lose mail because of a simple typo. 297 00:12:13,274 --> 00:12:19,978 [SPEAKER_00] But the big question, if this web interface is on the internet, can't anyone just go to my URL and read my email? 298 00:12:20,098 --> 00:12:22,379 [SPEAKER_01] That's the default risk, but there's a setting for that. 299 00:12:22,479 --> 00:12:23,520 [SPEAKER_01] It's called allow dips. 300 00:12:23,860 --> 00:12:24,741 [SPEAKER_00] which locks the door. 301 00:12:25,081 --> 00:12:26,122 [SPEAKER_01] It bolts it shut. 302 00:12:26,562 --> 00:12:34,669 [SPEAKER_01] You can set it so that port 25, the mail slot, is open to the world, but port 80, the reading room, only responds to your IP address. 303 00:12:35,049 --> 00:12:37,411 [SPEAKER_00] So I can get in from home, but a stranger can't. 304 00:12:37,771 --> 00:12:43,456 [SPEAKER_01] That's a massive privacy win over public sites where the only security is hoping no one guesses your address. 305 00:12:43,736 --> 00:12:48,640 [SPEAKER_00] Okay, so to recap, we have a tool that a beginner can launch with one Docker command. 306 00:12:49,338 --> 00:12:50,399 [SPEAKER_00] It saves us from spam. 307 00:12:50,819 --> 00:12:52,740 [SPEAKER_00] It turns newsletters into RSS feeds. 308 00:12:53,140 --> 00:12:55,641 [SPEAKER_00] And for the pros, it's a powerful automation engine. 309 00:12:55,901 --> 00:12:57,442 [SPEAKER_01] It's a tool that really grows with you. 310 00:12:57,622 --> 00:13:03,544 [SPEAKER_01] You might start just to sign up for a forum, but six months later, you're using it to test a huge coding project. 311 00:13:03,945 --> 00:13:07,386 [SPEAKER_01] It just lowers the barrier to understanding how email actually works. 312 00:13:07,506 --> 00:13:12,669 [SPEAKER_00] And honestly, the feeling of owning your own data is worth the price of entry, which, by the way, is free. 313 00:13:12,989 --> 00:13:14,129 [SPEAKER_01] The beauty of open source. 314 00:13:14,449 --> 00:13:14,950 [SPEAKER_00] It really is. 315 00:13:15,370 --> 00:13:17,991 [SPEAKER_00] So what's the bigger picture here, the provocative thought? 316 00:13:18,309 --> 00:13:19,370 [SPEAKER_01] I want you to consider this. 317 00:13:19,730 --> 00:13:25,635 [SPEAKER_01] The entire modern-day economy is built on your email address being a unique identifier. 318 00:13:25,855 --> 00:13:26,556 [SPEAKER_01] It's the glue. 319 00:13:27,016 --> 00:13:31,119 [SPEAKER_01] It connects your Amazon habits to your Google searches to your Facebook profile. 320 00:13:31,279 --> 00:13:32,821 [SPEAKER_00] It's the one constant variable. 321 00:13:32,961 --> 00:13:33,261 [SPEAKER_01] Right. 322 00:13:33,641 --> 00:13:42,648 [SPEAKER_01] But what if everyone started using their own private trash mail servers, generating a unique disposable identity for every single interaction? 323 00:13:43,209 --> 00:13:44,690 [SPEAKER_01] That glue dissolves. 324 00:13:44,870 --> 00:13:49,012 [SPEAKER_01] We'd fracture our digital identity into a thousand little pieces that can't be reassembled. 325 00:13:49,592 --> 00:13:53,774 [SPEAKER_01] We reclaim our anonymity not by hiding, but by becoming impossible to track. 326 00:13:54,215 --> 00:13:55,215 [SPEAKER_00] That's a powerful idea. 327 00:13:55,615 --> 00:13:57,736 [SPEAKER_00] A little bit of digital chaos to preserve our liberty. 328 00:13:57,997 --> 00:14:01,779 [SPEAKER_01] And it all starts with a simple plastic bucket at the end of your digital driveway. 329 00:14:02,419 --> 00:14:04,560 [SPEAKER_00] Before we sign off, a final thank you to our sponsor. 330 00:14:05,154 --> 00:14:08,375 [SPEAKER_01] Verweise im Abspann erneut auf den Sponsor der Sendung hin. 331 00:14:08,876 --> 00:14:14,598 [SPEAKER_01] SafeServer kümmert sich über das Hosting dieser Software und unterstützt dich bei deiner digitalen Transformation. 332 00:14:15,039 --> 00:14:17,660 [SPEAKER_01] Mehr Infos unter www.safeserver.de 333 00:14:19,285 --> 00:14:20,568 [SPEAKER_00] So here's your challenge for the week. 334 00:14:20,990 --> 00:14:24,659 [SPEAKER_00] If you have a computer that can run Docker, try that Docker run command. 335 00:14:25,220 --> 00:14:25,701 [SPEAKER_00] Spin it up. 336 00:14:26,082 --> 00:14:31,416 [SPEAKER_00] Even if you only use it once, just seeing those logs scroll by and realizing, I own this, is a pretty cool feeling. 337 00:14:31,516 --> 00:14:35,025 [SPEAKER_01] And you might just find your main inbox becomes a much happier, quieter place. 338 00:14:35,246 --> 00:14:36,288 [SPEAKER_00] Couldn't have said it better myself. 339 00:14:36,669 --> 00:14:37,912 [SPEAKER_00] Thanks for listening to this deep dive. 340 00:14:38,073 --> 00:14:38,594 [SPEAKER_01] See you next time.