John Goerzen<h2>Announcing the NNCPNET Email Network</h2><p>From 1995 to 2019, I ran my own mail server. It began with a <a href="https://www.complete.org/uucp" rel="nofollow noopener" target="_blank">UUCP</a> link, an expensive long-distance call for me then. Later, I ran a mail server in my apartment, then ran it as a VPS at various places.</p><p>But running an email server got difficult. You can’t just run it on a residential IP. Now there’s SPF, DKIM, DMARC, and TLS to worry about. I recently <a href="https://changelog.complete.org/archives/10711-review-of-reputable-functional-and-secure-email-service" rel="nofollow noopener" target="_blank">reviewed mail hosting services</a>, and don’t get me wrong: I still use one, and probably will, because things like email from my bank are critical.</p><p>But we’ve lost the ability to tinker, to experiment, to have fun with email.</p><p>Not anymore. NNCPNET is an email system that runs atop <a href="https://www.complete.org/nncp/" rel="nofollow noopener" target="_blank">NNCP</a>. I’ve written a lot about NNCP, including a less-ambitious <a href="https://changelog.complete.org/archives/10165-asynchronous-email-exim-over-nncp-or-uucp" rel="nofollow noopener" target="_blank">article about point-to-point email over NNCP</a> 5 years ago. NNCP is to UUCP what ssh is to telnet: a modernization, with modern security and features. NNCP is an asynchronous, onion-routed, store-and-forward network. It can use as a transport anything from the Internet to a USB stick.</p><p>NNCPNET is a set of standards, scripts, and tools to facilitate a broader email network using NNCP as the transport. You can <a href="https://salsa.debian.org/jgoerzen/docker-nncpnet-mailnode/-/wikis/home" rel="nofollow noopener" target="_blank">read more about NNCPNET on its wiki!</a></p><p>The “easy mode” is to use the Docker container (multi-arch, so you can use it on your Raspberry Pi) I provide, which bundles:</p><ul><li>Exim mail server</li><li>NNCP</li><li>Verification and routing tools I wrote</li><li>Automated nodelist tools; it will request daily nodelist updates and update its configurations accordingly, so new members can be communicated with</li><li>Integration with the optional, opt-in Internet email bridge</li><ul><p>It is open to all. The homepage has a more extensive list of features.</p><p>I even have mailing lists running on NNCPNET; see <a href="https://salsa.debian.org/jgoerzen/docker-nncpnet-mailnode/-/wikis/interesting-addresses" rel="nofollow noopener" target="_blank">the interesting addresses page</a> for more details.</p><p>There is <i>extensive</i> documentation, and of course the source to the whole thing is available.</p><p>The <a href="https://salsa.debian.org/jgoerzen/docker-nncpnet-mailnode/-/wikis/bridge/intro" rel="nofollow noopener" target="_blank">gateway to Internet SMTP mail</a> is off by default, but can <a href="https://salsa.debian.org/jgoerzen/docker-nncpnet-mailnode/-/wikis/bridge/getting-started" rel="nofollow noopener" target="_blank">easily be enabled</a> for any node. It is a full participant, in both directions, with SPF, DKIM, DMARC, and TLS.</p><p>You don’t need any inbound ports for any of this. You don’t need an always-on Internet connection. You don’t even need an Internet connection at all. You can run it from your laptop and still use Thunderbird to talk to it via its optional built-in IMAP server.</p><p><a rel="nofollow noopener" class="hashtag u-tag u-category" href="https://changelog.complete.org/archives/tag/email" target="_blank">#email</a> <a rel="nofollow noopener" class="hashtag u-tag u-category" href="https://changelog.complete.org/archives/tag/nncp" target="_blank">#nncp</a> <a rel="nofollow noopener" class="hashtag u-tag u-category" href="https://changelog.complete.org/archives/tag/uucp" target="_blank">#uucp</a></p></ul></ul>