Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Fetching contributors…
Cannot retrieve contributors at this time
87 lines (52 sloc) 2.2 KB
New Name Suggestions
pez (or pezmail)
- move repository to git?
- Bugfixes - qpsmtpd is extremely stable (in production since 2001), but
there are always more things to fix.
- Add user configuration plugin infrastructure
- Add plugin API for checking if a local email address is valid
- Include the popular check_delivery[1] functionality via the user API
[1] until then get it from
- Add API to reject individual recipients after the RCPT has been
accepted and generate individual bounce messages.
------ The rest of the list here might be outdated. ------
------ Patches to remove things are welcome. ------
add whitelist support to the dnsbl plugin (and maybe to the rhsbl
plugin too). Preferably both supporting DNS based whitelists and
filebased (CDB) ones.
plugin support;
allow plugins to return multiple response lines (does it have to
join them to one for SMTP?)
support plugins for the rest of the commands.
specify a priority in register_hook. ("LAST", "FIRST", "MIDDLE", or
maybe a number)
plugin access to the data line by line during the DATA phase
(instead of just after)
if qmail-queue can't be loaded we still return 250 ?!
Make a system for configuring the plugins per user/domain/...
support databytes per user / domain
plugin to reject mails from <> if it has multiple recipients.
localiphost - support foo@[a.b.c.d] addresses
Move dispatch() etc from to to allow other similar
protocols to use the qpsmtpd framework.
Future Ideas
Methods to create a bounce message easily; partly so we can accept a
mail for one user but bounce it right away for another RCPT'er.
The data_post hook should be able to put in the notes what addresses
should go through, bounce and get rejected respectively, and qpsmtpd
should just do the right thing. See also
David Carraway has some thoughts for "user filters"
Jump to Line
Something went wrong with that request. Please try again.