Gilles Chehade
poolp.org · Personal blog · on HN since 2014
Gilles Chehade, an OpenSMTPD developer, writes about running mail servers, OpenSMTPD internals, spam filtering, and OpenBSD.
What HN saysHN commenters recommend his posts as a rebuttal to the 'mail is hard' claim, as a mail server setup guide, and for his OpenSMTPD advisory postmortem.
21HN people shared it
9linked it in comments
23stories submitted
681story points
3 years agolast shared
2014people per year2026
Most-shared posts
- 1The “mail is hard” myth4 people · 435 points · first shared 2019 · 301 comments on HN
- 2Setting Up a Mail Server with OpenSMTPD, Dovecot and Rspamd4 people · 45 points · first shared 2019 · discussion on HN
- 3OpenSMTPD advisory dissected3 people · 51 points · first shared 2020 · 26 comments on HN
- 4Spfwalk - utility to fetch SPF records and whitelist MX for particular domains3 people · 4 points · first shared 2018 · discussion on HN
- 5OpenSMTPD proc filters and fc-rDNS2 people · 3 points · first shared 2018 · discussion on HN
- 6OpenSMTPD libtls conversion and Unix-domain sockets support, nooSMTPD2 people · 1 points · first shared 2021 · discussion on HN
- 7SPF-aware greylisting and filter-greylist2 people · 1 points · first shared 2019 · discussion on HN
- 8Implementing a System Call for OpenBSD1 people · 96 points · first shared 2020 · 30 comments on HN
- 9OpenSMTPD 6.0.0 is released1 people · 27 points · first shared 2016 · 3 comments on HN
- 10OpenSMTPD: Home, sweet home1 people · 3 points · first shared 2015 · discussion on HN
- 11Switching to OpenSMTPD new config1 people · 3 points · first shared 2018 · discussion on HN
- 12Nov 2019 OpenSMTPD 6.6.1p1, filter-greylist and tons of portable cleanup1 people · 2 points · first shared 2019 · 1 comments on HN
- 13Decentralised SMTP is for the greater good – poolp.org1 people · 2 points · first shared 2020 · 1 comments on HN
- 14December 2020: OpenSMTPD 6.8.0p1 released – poolp.org1 people · 2 points · first shared 2020 · discussion on HN
- 15OpenSMTPD released and upcoming filters preview1 people · 2 points · first shared 2018 · discussion on HN
What HN people wrote when they linked it
ori_b · 2022-06-11
The postmortem is worth reading:
https://poolp.org/posts/2020-01-30/opensmtpd-advisory-dissected/
It's worth reading through the systemic mitigations that would make a clone of this bug impossible in the future.
t0astbread · 2020-11-26
Here's a great writeup by an OpenSMTPD developer: https://poolp.org/posts/2019-09-14/setting-up-a-mail-server-with-opens…
perlgod · 2018-11-15
I used to run Postfix + Dovecot + Rspamd with all the bells and whistles enabled [1], but I recently switched to OpenSMTPD + spamd on OpenBSD.
Unlike rspamd, which has pluggable modules for everything under the sun (RBLs, word filters, Bayesian filtering + learning), spamd uses plain ol' graylisting with some PF integration to throttle spammers connections to 1 character/second for maximum annoyance.
With Rspamd, I never got any spam in my Inbox. With spamd, I get maybe 1 spam mail every two weeks. To me, spamd's ridiculous simplicity is worth the tradeoff.
You do have to be careful with graylisting large mailers like Gmail, since they rarely retry the mail from the same IP address. For this, OpenBSD's smtpctl now has the spfwalk [2] command to whitelist the big guys. That's what I use in my current setup [3], which was linked here a few days ago.
[1] https://www.c0ffee.net/blog/mail-server-guide/
[2] https://poolp.org/posts/2018-01-08/spfwalk/
[3] https://github.com/cullum/dank-selfhosted
robwwilliams · 2023-11-24
Always relevant link on this topic that debunks much of the Why You Should Not…
https://poolp.org/posts/2019-08-30/you-should-not-run-your-mail-server…
swixmix · 2022-06-11
OpenSMTPD is the right answer if you want a general purpose mail server [1] that is secure by default. [2]
[1]: https://poolp.org/posts/2021-01-31/january-2021-opensmtpd-libtls-conve…
[2]: https://www.openbsd.org/security.html
the-anarchist · 2022-04-24
Chip in with a couple of friends who might be on the lookout for a gmail/proton/whatever alternative as well, get an OpenBSD VPS at 1984 Hosting, C*ckbox, FlokiNET, or basically any other hoster that allows communication via port 25 and set up OpenSMTPd and Dovecot. There are plenty[0] write-ups[1] on how to do so in case you need info.
[0] https://poolp.org/posts/2019-08-30/you-should-not-run-your-mail-server…
[1] https://karchnu.fr/posts/2020-09-17-certificate-smtp-imap-antispam.htm…
poolpOrg · 2019-11-20
Hello,
Main developer from the OpenSMTPD project here.
I also wrote an article a few weeks ago about running your own mail server which is located here:
https://poolp.org/posts/2019-09-14/setting-up-a-mail-server-with-opens…
rodrigo975 · 2019-11-19
e12e · 2021-07-02
I haven't used DCC, but it looks like an interesting anti-spam toolkit:
https://www.dcc-servers.net/dcc/
It appears to support "weak" IP matching:
> All or part of the IP address of the SMTP client can be optionally ignored by DCC clients as far as the greylist triple is concerned. This feature may be useful for legitimate mail systems that shuffle messages among SMTP clients between retransmissions. See the dccm and dccd man pages.
https://www.dcc-servers.net/dcc/greylist.shtml
It doesn't quite sound like it does a job of 100% "same email, same sender, different mx in same domain" -but I suspect it works well enough in practice?
> Usually the DCC greylist system requires that an almost identical copy of the message be retransmitted during the embargo. If weak-body is present, any message with the same triple of sender IP address, sender mail address, and target mail address ends the em-bargo, even if the body of the message differs.
> If weak-IP is present, all mail from an SMTP client at an IP address is accept after any message from the same IP address has been ac-cepted.
https://www.dcc-servers.net/dcc/dcc-tree/dccd.html#OPTION-G
I can't recall what I used for greylisting last -possibly greylistd.
Anyway, the smart play these days might be to whitelist/greylist via SPF - I'm not sure if spammers (of the variant caught by greylists) generally have…