commit 0782169ff3e6b0cdee28d89269a38d003e24f31a
parent 62610f16ae2e2777a5817f2812f7db5cf59181af
Author: Jake Bauer <jbauer@paritybit.ca>
Date: Sat, 16 May 2020 01:30:15 -0400
Publish new blog post
Diffstat:
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>