this post was submitted on 09 Jul 2023
134 points (98.6% liked)

Selfhosted

40347 readers
330 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 1 year ago
MODERATORS
 

Hey guys,

after looking into selfhosting email it seems to me that it's probably better if I use an existing email hoster like Namecheap or Porkbun.

Now I saw that Porkbun doesn't offer catchall emails so I can't use it for my usecase.

Do you guys have any recommendations for a reasonably priced email hoster for a custom domain that offers all basic features like catchall? The purpose is for one domain I use for my personal stuff and one for a small side hustle/ small business.

Thanks so much in advance for your help!

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 3 points 1 year ago (1 children)

Whatever hosting service you're going to use, if you're not afraid of a little bit of Lua coding, consider using imapfilter -- it's a swiss knife for backups, pre-sorting, hooks and migration.

imapfilter is a (criminally underrated, IMO) tool for writing e-mail rules in Lua, which allow you to do tons of things, but my favorite is migrating e-mail, regardless of account.

See, unlike most filtering/sorting systems which are either completely proprietary or limited to single account (exportable as Sieve, if you're lucky), imapfilter does not care where each "end" of the rule is: you can write rule that migrates from account1/folder1 to account2/folder3.

This allows you to completely decouple any sorting, pre-processing, hook or backup system from the actual locations or providers you happen to be using, as well as it allows you to combine any number of locations in any simple or complex way you need. Whatever system you will end up creating will stay with you as long (as you can use IMAP locations), so you can really focus on making it work long-term and have it fit into the big picture.

I've been using it for almost 10 years and ever since it has changed my whole world of e-mail. I have constant set of rules that take e-mails from set of inboxes (each box for different purpose, each on different provider, for reasons) and sort them to folders on my "actual" account, where I get to read them on my terms. I also have several of rules that run custom scripts exporting CSV's, etc. (The rules are Lua programs, after all, so sky is the limit.) If I ever need to migrate my domain to another service (believe it or not, happened more than once in 10 years), all I need to do is set up the new account as base for the rules, but all of my rules are always going to be preserved.

In my past work I actually used imapfilter to move all IMAP from company Gmail to a locally maintained (on company laptop) Dovecot instance so that I could eventually use a sane client to get my work done. (And because the instance was local, I could access my e-mail offline with best possible speed.) One could do a similar thing with personal/freelance e-mail -- just run Dovecot somewhere at a trusted place (you won't be sending/receiving e-mails here, you will be only using IMAP to IMAP commands, so none of the horrors of self-hosting e-mail apply) and use imapfilter to route all email there, then back up your dovecot folder and you're all set.

Except for need of coding, the disadvantage is that, I need an independent machine that runs 24/7 in order to keep sorting the e-mail (I do it cron-based but you can also do it continually) but that has not been a problem for me as I'm the self-hosting-nerd that's going to have such machine anyway.

[–] [email protected] 3 points 1 year ago

Again, perhaps with more clarity:

With imapfilter you can

  1. choose where you will host your "actual" e-mail, let's say you choose according to best spam filter.
  2. choose where you will store your e-mail long-term.
  3. choose where you will access the e-mail for everyday use (this could be several separate accounts if you wanted to eg. use one on your phone and another one on your workstation)
  4. choose where you will run imapfilter and any script hooks
  5. start building your rules.

1-3 could be same provider or different providers, including your custom dovecot instance, you will simply choose based on convenience and limits. If you ever need to change one of the endpoints (providers), you just need to rewrite them in your ~/.imapfilter/config.lua. (And migrate, which can be done using imapfilter or manually using any sane client, eg. Claws Mail...)