top | item 39983018

Stalwart mail server (self-hosted all-in-one mail server) now as an admin webui

214 points| clemiclemen | 1 year ago |stalw.art

67 comments

order

notyoutube|1 year ago

It's interesting how there is now

* 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.

infogulch|1 year ago

Maddy and Mox are written in Goo, but Stalwart in Rust. So perhaps the first two, but unlikely the last.

softjobs|1 year ago

Only Stalwart supports JMAP, which imo is the future of mail/calendar/contacts client-server communication.

https://jmap.io/

hannofcart|1 year ago

Have been running Stalwart for around 6months now. Works great so far. Setting up DKIM, DMARC, SPF etc. was a breeze.

Now I am able to send reliably to Gmail, and semi-reliably to Outlook.

My mail volumes are very low however. I just setup this as my SMTP server just for the heck of it.

jonotime|1 year ago

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.

Side note: I route outgoing messages to sendgrid.

RyeCombinator|1 year ago

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.

BartjeD|1 year ago

What does the update process look like?

After I install this via the install script on, say, Debian. An update comes along. What do I do? Run the install script again?

Or does the web UI have a process for initiating an update?

I couldn't find any information on this on the website: I consider this essential information.

[Edit] I found it: https://stalw.art/docs/management/webadmin/usage

e12e|1 year ago

> 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

That's a little too efficient for my taste.

infogulch|1 year ago

How does the directory management ui work with an external directory, say LDAP?

I've been looking at both Stalwart and Kanidm, I suspect they would be a good pairing.

https://kanidm.com/

MathiasPius|1 year ago

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.

docc|1 year ago

i paired it with ldap. So users and adresses are managed by ldap

ldap is currently a second citizen in stalwart tho so there are rough edges and missing features. But the basics are there

jasode|1 year ago

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.

[1] masked email services examples

https://support.apple.com/en-us/105078

https://www.fastmail.help/hc/en-us/articles/4406536368911-Ma...

https://simplelogin.io/

https://blog.cloudflare.com/introducing-email-routing

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

e12e|1 year ago

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.

gingerlime|1 year ago

I’m using postfix/dovecot with mysql backed accounts (compatible with postfixadmin) and I have a tiny bash script that:

* generates a random email

* asks for an optional description

* inserts new email to the database

* adds an entry to postgrey whitelist

* emails me the address and description (so I can search the email address later in my inbox if necessary)

Works a treat for me, but not something my family can use.

elric|1 year ago

"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?

addandsubtract|1 year ago

Who takes out the junk mail when there are no garbage collectors?

throwiforgtnlzy|1 year ago

Once upon a time, ran scaled, HA Zimbra instances as a commercial service.

Is there anything approaching "Microsoft Exchange" today without the Microsoft or commercial pseudo-FOSS?

Nerada|1 year ago

I've been a happy MailInABox user for many years, but this looks great.

tetrisgm|1 year ago

Is there a reliable solution we could use for our small startup? We want to shoot out daily emails to our users, like Bandcamp or Substack do.

We could ofc use Mailchimp but always happy to explore self hosting. Would this or another solution work?

julienmarie|1 year ago

I've been using Postal Server for 2 years ( https://docs.postalserver.io/ ) sending around 50k emails / day without any issue.

Just make sure you set up everything (SPF, DKIM, DMARC) correctly, including the PTR reverse lookup of your server ( really important ).

Key tip: warm up your ip(s). I use mailreach.co ( it has a USD 25/m cost ), reached near 100% deliverability in a month.

I now have barely have any maintenance to do. It just works.

jen729w|1 year ago

Roll your own with Amazon SES. Bang up a little script and call the CLI.

    for recipient in "${recipients[@]}"; do
    aws sesv2 send-email \
      --from-email-address "$sender" \
      --destination "ToAddresses=$recipient" \
      --content "Simple={Subject={Data='$subject',Charset='UTF-8'},Body={Text={Data='$body',Charset='UTF-8'}}}" \
      --region "$region"
    done
I got that script from their website. Should be easy enough to knock something up in Deno or whatever. 50,000 emails/month free! Amazing.

If you want an actual product, check out Buttondown. Indie, great support, and amazing APIs.

blackeyeblitzar|1 year ago

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.

0x457|1 year ago

This is more of a GMail alternative. Sending personal emails and sending marketing emails are two very completely different beasts.

achristmascarl|1 year ago

Postmark and Mailgun are both solid choices and probably better than Mailchimp for higher volume / non-marketing emails (however, they are SaaS)

notresidenter|1 year ago

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.

behringer|1 year ago

For hosted solution, you'll find mailerlite is far better than mail chimp.

_eht|1 year ago

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.

x3n0ph3n3|1 year ago

I'm personally a user and fan of poste.io. Other than just being open-source, is there a good reason I might want to switch to Stalwart?

codetrotter|1 year ago

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

pydubreucq|1 year ago

Really interesting project with JMAP support ! I would like time to test it !

fffrantz|1 year ago

Just tried to set it up on a fresh Ubuntu free VM on Oracle cloud and I can't seem to be able to even login after setup.

Oh well, might look into it when I have more time. Looks promising though!

fffrantz|1 year ago

Hmm, interesting, it only binds on the IPv6 address. It does work but IPv4 does not seem to be working.

saddist0|1 year ago

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. :')

cvalka|1 year ago

The best smtp server out there!

kldx|1 year ago

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)