paritybit.ca

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

commit 0782169ff3e6b0cdee28d89269a38d003e24f31a
parent 62610f16ae2e2777a5817f2812f7db5cf59181af
Author: Jake Bauer <jbauer@paritybit.ca>
Date:   Sat, 16 May 2020 01:30:15 -0400

Publish new blog post

Diffstat:
Mpages/blog.md | 1+
Apages/blog/self-hosting-email.md | 93+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mpages/home.md | 4++--
Mpublic/feeds/sitewide-feed.xml | 93+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Apublic/img/double-desktop-email-thumb.png | 0
Apublic/img/double-desktop-email.png | 0
Apublic/img/mx-toolbox-results-thumb.png | 0
Apublic/img/mx-toolbox-results.png | 0
Apublic/img/office-365-spam-thumb.png | 0
Apublic/img/office-365-spam.png | 0
Mpublic/sitemap.xml | 1+
11 files changed, 190 insertions(+), 2 deletions(-)

diff --git a/pages/blog.md b/pages/blog.md @@ -20,6 +20,7 @@ href="https://social.paritybit.ca/@jbauer">Mastodon</a>. ### 2020 <ul> + <li>2020-05-16 <a href="blog/self-hosting-email">Self-Hosting Email</a></li> <li>2020-05-15 <a href="blog/preparing-to-self-host-email">Preparing to Self-Host Email</a></li> <li>2020-05-13 <a href="blog/diving-deeper-into-the-small-internet">Diving Deeper Into the Small Internet</a></li> <li>2020-05-12 <a href="blog/setting-up-a-gopher-site">Setting Up A Gopher Site</a></li> diff --git a/pages/blog/self-hosting-email.md b/pages/blog/self-hosting-email.md @@ -0,0 +1,93 @@ +## Self-Hosting Email + +[//]: # "My experience starting to self-host email using OpenBSD, OpenSMTPD, Dovecot, and Rspamd." + +[//]: # "main.min.css" + +[//]: # + +<div class="byline"> +<b>Written By:</b> Jake Bauer | + <b>Posted:</b> 2020-05-16 | + <b>Last Updated:</b> 2020-05-16 +</div> + +I just finished setting up self-hosted email and it was the easiest thing ever. + +As I discussed in my [previous blog post](/blog/preparing-to-self-host-email), I +set up a VPS with [Vultr](https://www.vultr.com/?ref=8575845) running OpenBSD +(that's a regular referral link, [this one will give you a $100 +credit](https://www.vultr.com/?ref=8575855-6G)). Following this [guide from one +of the developers of +OpenSMTPD](https://poolp.org/posts/2019-09-14/setting-up-a-mail-server-with-opensmtpd-dovecot-and-rspamd/) +(I think he may be the creator), I was able to get the server up and running in +less than two hours while understanding every step and every configuration +option along the way. None of it felt like the black magic that it was made out +to be by many on the Internet. + +To test the setup, I created the email address `me@jbauer.ca` and set up +Thunderbird. I tested sending and receiving emails and checked, using Wireshark, +that my mail was being correctly encrypted with the TLS certificates I +configured: + +<figure> + <a href="/img/double-desktop-email.png"><img + src="/img/double-desktop-email-thumb.png" alt="A screenshot of both of my + monitors with Neomutt, Thunderbird, Wireshark, SSH, and Firefox with Vultr + open while testing if email is working."/></a> +</figure> + +I also used [MXToolBox.com](https://mxtoolbox.com) to test that my mail server +and DNS records were correctly configured. This service was invaluable since I +can't test Port 25 connectivity to the mail server from my residential +connection. + +<figure> + <a href="/img/mx-toolbox-results.png"><img + src="/img/mx-toolbox-results-thumb.png" alt="A screenshot of MX ToolBox + results with all green checkmarks."/></a> +</figure> + +As of yet, I haven't had much trouble getting my email delivered to different +addresses from Big Mail Corps which was what I was most worried about and which +is an often-cited factor many use to advocate against self-hosting email. So +far, I've confirmed that both Gmail and ProtonMail deliver my mail. Microsoft's +Office 365 marked my IP as being spam—which is understandable since it's a brand +new mail server on a previously-unused domain—but not only did they notify me +that I was put on their spam list, they offered a really easy way to remove my +IP from the list: + +<figure> + <a href="/img/office-365-spam.png"><img src="/img/office-365-spam-thumb.png" + alt="A screenshot of the Office 365 Anti-Spam Delist Portal showing all + green checkmarks."/></a> +</figure> + +I didn't bother setting up virtual mail accounts because it will just be me +using this mail server. If there are additional addresses I need to add, I can +just add them to the `/etc/mail/aliases` file. If you want to set up your own +mail server and wish to use virtual mail accounts, [this tutorial from +Vultr](https://www.vultr.com/docs/an-openbsd-e-mail-server-using-opensmtpd-dovecot-rspamd-and-rainloop) +discusses that. + +Some more things that I have to look into doing are setting up a backup mail +server in the case that mine experiences downtime, and setting up Rspamd +training using Dovecot as suggested at the end of the guide which I followed. +This whole experiment has also given me the opportunity to experience +administration of an OpenBSD system, which I'm enjoying so far. The manpages +have been excellent and the system is laid out in a really straightforward way. +There are a few things that I need to learn and get used to such as `pf` instead +of `nftables` for packet filtering, `rcctl` instead of `systemctl` for managing +services, and other little things that are OpenBSD-specific. + +Now that I've done it, I can heartily recommend giving self-hosted email a shot. +It's nowhere near as difficult and scary as it's made out to be and it rewards +one with control over one's email data and infrastructure. I don't see how +hosting an email server will be any different than something like a Web server +or Matrix server in terms of workload given that all one has to do once it's set +up is standard system administration tasks. + +_This is my twenty-first post for the +[#100DaysToOffload](https://social.paritybit.ca/tags/100DaysToOffload) +challenge. You can learn more about this challenge over at +[https://100daystooffload.com](https://100daystooffload.com)._ diff --git a/pages/home.md b/pages/home.md @@ -20,6 +20,8 @@ extent)! Access through `gopher://paritybit.ca` or `gemini://paritybit.ca`. src="/img/feed-icon.png" width="15" height="15" alt="Click for RSS Feed"/> </a> </div> +2020-05-16 <a class="feed-item" href="blog/self-hosting-email">Self-Hosting Email</a> + 2020-05-15 <a class="feed-item" href="blog/preparing-to-self-host-email">Preparing to Self-Host Email</a> 2020-05-13 <a class="feed-item" href="blog/diving-deeper-into-the-small-internet">Diving Deeper Into the Small Internet</a> @@ -38,8 +40,6 @@ extent)! Access through `gopher://paritybit.ca` or `gemini://paritybit.ca`. 2020-05-07 <a class="feed-item" href="blog/the-joys-of-old-tech">The Joys of Old Tech</a> -2020-05-05 <a class="feed-item" href="blog/refining-my-neomutt-config">Refining My NeoMutt Configuration</a> - ### What is a Parity Bit? It is a bit (in the 1's and 0's sense) used in checking for errors in digital diff --git a/public/feeds/sitewide-feed.xml b/public/feeds/sitewide-feed.xml @@ -7,6 +7,99 @@ <description>The feed that covers all notable additions, updates, announcements, and other changes for the entire paritybit.ca website.</description> <item> + <title>Self Hosting Email</title> + <link>https://www.paritybit.ca/blog/self-hosting-email</link> + <guid>https://www.paritybit.ca/blog/self-hosting-email</guid> + <pubDate>Sat, 16 May 2020 01:29:02 -0400</pubDate> +<description><![CDATA[<h2>Self Hosting Email</h2> + +<div class="byline"> +<b>Written By:</b> Jake Bauer | + <b>Posted:</b> 2020-05-16 | + <b>Last Updated:</b> 2020-05-16 +</div> + +<p>I just finished setting up self-hosted email and it was the easiest thing ever.</p> + +<p>As I discussed in my <a href="/blog/preparing-to-self-host-email">previous blog post</a>, I +set up a VPS with <a href="https://www.vultr.com/?ref=8575845">Vultr</a> running OpenBSD +(that's a regular referral link, <a href="https://www.vultr.com/?ref=8575855-6G">this one will give you a $100 +credit</a>). Following this <a href="https://poolp.org/posts/2019-09-14/setting-up-a-mail-server-with-opensmtpd-dovecot-and-rspamd/">guide from one +of the developers of +OpenSMTPD</a> +(I think he may be the creator), I was able to get the server up and running in +less than two hours while understanding every step and every configuration +option along the way. None of it felt like the black magic that it was made out +to be by many on the Internet.</p> + +<p>To test the setup, I created the email address <code>me@jbauer.ca</code> and set up +Thunderbird. I tested sending and receiving emails and checked, using Wireshark, +that my mail was being correctly encrypted with the TLS certificates I +configured:</p> + +<p><figure> + <a href="/img/double-desktop-email.png"><img + src="/img/double-desktop-email-thumb.png" alt="A screenshot of both of my + monitors with Neomutt, Thunderbird, Wireshark, SSH, and Firefox with Vultr + open while testing if email is working."/></a> +</figure></p> + +<p>I also used <a href="https://mxtoolbox.com">MXToolBox.com</a> to test that my mail server +and DNS records were correctly configured. This service was invaluable since I +can't test Port 25 connectivity to the mail server from my residential +connection.</p> + +<p><figure> + <a href="/img/mx-toolbox-results.png"><img + src="/img/mx-toolbox-results-thumb.png" alt="A screenshot of MX ToolBox + results with all green checkmarks."/></a> +</figure></p> + +<p>As of yet, I haven't had much trouble getting my email delivered to different +addresses from Big Mail Corps which was what I was most worried about and which +is an often-cited factor many use to advocate against self-hosting email. So +far, I've confirmed that both Gmail and ProtonMail deliver my mail. Microsoft's +Office 365 marked my IP as being spam—which is understandable since it's a brand +new mail server on a previously-unused domain—but not only did they notify me +that I was put on their spam list, they offered a really easy way to remove my +IP from the list:</p> + +<p><figure> + <a href="/img/office-365-spam.png"><img src="/img/office-365-spam-thumb.png" + alt="A screenshot of the Office 365 Anti-Spam Delist Portal showing all + green checkmarks."/></a> +</figure></p> + +<p>I didn't bother setting up virtual mail accounts because it will just be me +using this mail server. If there are additional addresses I need to add, I can +just add them to the <code>/etc/mail/aliases</code> file. If you want to set up your own +mail server and wish to use virtual mail accounts, <a href="https://www.vultr.com/docs/an-openbsd-e-mail-server-using-opensmtpd-dovecot-rspamd-and-rainloop">this tutorial from +Vultr</a> +discusses that.</p> + +<p>Some more things that I have to look into doing are setting up a backup mail +server in the case that mine experiences downtime, and setting up Rspamd +training using Dovecot as suggested at the end of the guide which I followed. +This whole experiment has also given me the opportunity to experience +administration of an OpenBSD system, which I'm enjoying so far. The manpages +have been excellent and the system is laid out in a really straightforward way. +There are a few things that I need to learn and get used to such as <code>pf</code> instead +of <code>nftables</code> for packet filtering, <code>rcctl</code> instead of <code>systemctl</code> for managing +services, and other little things that are OpenBSD-specific.</p> + +<p>Now that I've done it, I can heartily recommend giving self-hosted email a shot. +It's nowhere near as difficult and scary as it's made out to be and it rewards +one with control over one's email data and infrastructure. I don't see how +hosting an email server will be any different than something like a Web server +or Matrix server in terms of workload given that all one has to do once it's set +up is standard system administration tasks.</p> + +<p><em>This is my twenty-first post for the +<a href="https://social.paritybit.ca/tags/100DaysToOffload">#100DaysToOffload</a> +challenge. You can learn more about this challenge over at +<a href="https://100daystooffload.com">https://100daystooffload.com</a>.</em></p>]]></description> +</item> +<item> <title>Preparing to Self-Host Email</title> <link>https://www.paritybit.ca/blog/preparing-to-self-host-email</link> <guid>https://www.paritybit.ca/blog/preparing-to-self-host-email</guid> diff --git a/public/img/double-desktop-email-thumb.png b/public/img/double-desktop-email-thumb.png Binary files differ. diff --git a/public/img/double-desktop-email.png b/public/img/double-desktop-email.png Binary files differ. diff --git a/public/img/mx-toolbox-results-thumb.png b/public/img/mx-toolbox-results-thumb.png Binary files differ. diff --git a/public/img/mx-toolbox-results.png b/public/img/mx-toolbox-results.png Binary files differ. diff --git a/public/img/office-365-spam-thumb.png b/public/img/office-365-spam-thumb.png Binary files differ. diff --git a/public/img/office-365-spam.png b/public/img/office-365-spam.png Binary files differ. diff --git a/public/sitemap.xml b/public/sitemap.xml @@ -3,6 +3,7 @@ <url><loc>https://www.paritybit.ca</loc></url> <url><loc>https://www.paritybit.ca/home</loc></url> <url><loc>https://www.paritybit.ca/blog</loc></url> + <url><loc>https://www.paritybit.ca/blog/self-hosting-email</loc></url> <url><loc>https://www.paritybit.ca/blog/preparing-to-self-host-email</loc></url> <url><loc>https://www.paritybit.ca/blog/diving-deeper-into-the-small-internet</loc></url> <url><loc>https://www.paritybit.ca/blog/setting-up-a-gopher-site</loc></url>