It seems JMAP isn't universally loved, see for instance the spirited discussion in [0], although I've no direct experience.
My Maildirs "justed worked" though, and have been moved across dozens of servers - not to mention worked in so many different filesystems - over the years.
This is fantastic. I'm in the process of setting up a personal mail server. I have played a bit with mailcow in the past but my new server is running NixOS, so I'm looking for something that has been implemented there. And happened to stumble upon stalwart for the first time today. A web admin will certainly make the switch from mailcow easier.
The other contender was getting nixos-mailserver up and running alongside postfixadmin. But with stalwart I wont have to do that wiring up.
Stalwart is great and has out of the box JMAP support - I don't believe there's anything else out right now that checks all the boxes like Stalwart for an AIO mailserver.
> With every subsequent restart of Stalwart, the server fetches the Webadmin binary from the blob store, extracting it into a temporary directory. This process guarantees that the Webadmin is always available and updated
I'd be very interested to know as well. Although the last time I attempted to run kanidm in a containerized fashion it left a lot to be desired.
The software is (perhaps expectedly) not really built to support semi-ephemeral lifetimes, so it took quite a few hacks to get it running in Kubernetes the last time I tried.
As I recall, the primary issue I had was with exposing the certman-provided Let's Encrypt certificates to the kanidm process inside the container in a reasonable fashion. I don't think I found an elegant way of signalling to the kanidm process that the certificates had been renewed and should be reloaded.
From the main project page, it mentions it has typical alias support:
>Email aliases, mailing lists, subaddressing and catch-all addresses support.
Another feature that would be nice to have built-in is masked hide-my-email aliases for privacy like the cloaked email services from iCloud, FastMail, SimpleLogin, Cloudflare email routing, etc.[1]
For now, I use the typical aliases addresses in Dovecot but it doesn't hide the real email when replying. Also, creating new aliases in Dovecot-based email systems is very tedious and cumbersome because you have to go through the cPanel interface to create them. (Some suggest using the "catchall" feature to avoid the need to manually create new aliases but that advice is not workable when spam robots constantly send emails to new random addresses in your domain.) The cPanel/Dovecot aliases also don't have any metadata so you can add details on what the alias is for and when it was created.
EDIT ADD to reply : >On Stalwart you can implement masked e-mail using address rewriting
Stalwart's feature of "Sieve scripts" for custom rewriting/filtering is interesting but it's not UI friendly for endusers to create new masked email addresses (and also later delete them). There's also no user-defined metadata. It's also not clear if Sieve scripts can run on outgoing mail rather than just incoming mail. Example of how UI workflow in Apple's Hide My Email is simpler than Stalwart Sieve scripting: https://www.youtube.com/watch?v=oJRrkJy0vUk&t=34s
The project name escapes me, but there was a python project that generated email addresses with a hmac, and rejected invalid addresses (some-prefix-c679ba1@example.com). I think it came out a little before the rise of grey listing.
https://blame.email/ is a website that does this. I wrote a Lua checker for rspamd that bypasses the spam filter if the address is "signed". I also have a bookmarklet that generates a signed address and inserts it into the current text field.
"No runtimes or garbage collectors." seems like an odd thing to advertise. Have either of these been the cause of problems in mail servers in the past? I'm guessing not?
It's not that hard, and less work than it used to be.
Most of the movie hacker moment is often people who want to setup and configure and maintain each component of an email server manually, compared to a reasonably compiled package to allow more administration of it.
If this package isn't someone's cup of tea, products like MDaemon continue to exist and crush it for self-hosting email using a windows server just fine for the past 15-20y.
What email warming services do is they create activity between your server and hundreds of email accounts they manage on major ISPs and they make sure to click on "not spam" if it falls under spam, and try to bring your emails to the main inbox.
Not inherently. Whole IP blocks seem more or less black-listed by Google and Microsoft. So if you happen to get a server in that block, you can't send email.
At my corp we are almost to tge point of sending amazon ses straight to spam by default. Those guys will send email for anyone with predictable quality problems.
Disclaimer: I'm in contact with the founder after stumbling on HackerNews and I'm trying to help revive this awesome and economical tool. (I'm not paid.)
Though I've since updated that to include a .txt file as the body vs. typing it out in the email. But that's easy enough.
I might have added TXT records to satisfy DKIM etc., I don't remember. There are guides on the Amazon site; I'm a bit of a dummy when it comes to this so if I worked it out it must have been obvious enough.
Tyvm! If you have pointers to find the guides that'd be appreciate just for the sake of seeing if they're a good option. I'll look either way. Ty for the help
In my experience, it’s extremely difficult to get out of the SES sandbox, for what I presume is if your account/org is under a certain amount of spend with them. While basically free under a certain amount of usage, the gatekeeping there does make the idea of self-hosting your email free/cheaply sort of a nonstarter for indie devs.
For context, getting out of the sandbox at every org I worked at was essentially a single ticket with the word please and had almost immediate approval.
For my own account for a low volume form notification tool I wrote AWS’s response was ‘We will not approve your request and we will not revisit this decision’.
I actually just did this a couple weeks ago. I'm just one data point, so I've no real idea what the difficulty is of escaping the sandbox, but I created a brand new AWS account, made it clear that I'd be using SES purely for low volume transactional emails for people who had opted in and could opt out at any time, and they approved me within a couple days.
I got approved instantly for personal mail for my domains. even though they charge for smtp they don't actually take payment for very small amounts so it has been completely free for over a year.
I wouldn’t want to deal with deliverability issues, which are very much a matter of quality of service and industry relationships rather than a matter of having the right software. Just use Mailchimp or Sendgrid or Amazon’s email service, pay the small service fee, send high quality email, and don’t get distracted by trying to figure out why your emails are going to spam.
I played around a bit with both Sendgrid and Amazon SES and found that actually my own exim server on a VPS with a small and reputable provider had quite a bit better deliverability than either of those.
Yep used an Exim setup on a VPS for years for a small traffic site with little issue. I’m running something still on there but a little more modern docker setup with DKIM etc.
I've been using Listmonk (very easy to customize), sending ~35,000 mails / weekly as an alternative to Mailchimp with AWS SES as a backend but a self-hosted stalwart server could do the trick. We're saving ~600$/month by not using Mailchimp.
The biggest issue you will likely encounter is having clean IP addresses to send from. If you have that problem solved, the next hurdle will be realizing that Stalwart is more than you would need to manage sending daily emails. If you have the IP addresses, you could just use a script that grabs email addresses to send to for the day, and ship them with a fairly straightforward SMTP daemon (sendmail) installation on a VPS.
Stalwart might be a good use case for your business/employee mail account handling, however.
Yeah looks like based on the replies it's more of a Gmail alternative. Which is great but not about sending so much. Have you had a chance to setup sendmail? how we've been using our own baremetal setup on hetzner (ipfs box) and could use that for sending too. Any recos on how to make sure the IP is seen as clean?
Looks nice! I could see myself reconfiguring my current OpenSMTPd based setup to have OpenSMTPd relay incoming mail to Stalwart and having Stalwart make the decision about which mails to keep or discard. Def gonna experiment with that this weekend :D
noob question: how does this compare to something like vestacp, which install a lot more and mail (roundcube frontend)? I have been using it since 5 years and always work like a charm, maybe HN give me the reason to move on. :')
How reliable is mail delivery ootb with dmarc, spf and dkm in your experience? (I guess it really depends on the reputation of the IP and not the mail server)
It’s frustrating if you’re unlucky and have an IP with bad reputation, or accidentally send emails with low performance. Getting unblocked is sometimes not possible if you’re on your own. Authentication helps but it’s not enough in practice still.
* Maddy: https://github.com/foxcpp/maddy
* Mox: https://github.com/mjl-/mox
* and Stalwart
which all see to aim for more or less the same niche. I wonder if we'll see two of those merge eventually.