Postoffice is a simple SMTP mail server and client written with spam blocking in mind. It provides a greylist to slow down the rate of incoming spam, and can be configured to do antivirus checking on incoming mail either via the sendmail milter protocol or a traditional hard-coded AV program. Postoffice can be configured to deliver mail to accounts inside vm-pop3d-style virtual domains, and it can further be enabled to support AUTH LOGIN for people inside virtual domains, so they can use postoffice as a mail forwarder when replying to mail. Postoffice accepts (and ignores) many of the same command line options that are passed to sendmail, and it comes with the usual crop of sendmail compatable aliases; runq, mailq, newaliases, and sendmail.
|Tags||Communications Email Mail Transport Agents|
|Operating Systems||Unix POSIX BSD Linux Mac OS X|
Release Notes: Accepts connections on the msp port (port 587) as well as port 25.
Release Notes: The milter library is stable, so it's ready for a real release. A newly found bug was fixed where SMTP AUTH with a null filename was resulting in that null being passed into getpwnam(), with the expected results.
Release Notes: Further cleanup of the milter interface to make it properly handle 4xx replies from milters.
Release Notes: The milter library has been reworked to support milters that don't milterize all of the phases of a SMTP conversation, and that reject mail during phases other than DATA. This is a beta release because it involves some fairly extensive changes to the milter library and the SMTP server where it interacts with the milter library.
Release Notes: Cleanups for FreeBSD 7.1: setreuid() doesn't seem to work there, so this release handles giving up permissions by forking and doing setuid()/setgid() in the child. mfdata() wasn't properly splitting out headers, so it needed to be rewritten. A FILE* is used to pull in .forwards; the old open/read method was leaving old contents in the buffer which were corrupting newer (and shorter) .forwards. The SMTP server uses setlinebuf() if that function is available. Same-priority MXs are randomized. This release no longer sends to MXs in the wrong priority.