Qmail FreeBSD toaster

It is Sunday 23 February 2020 - 09:19:46.
Your IP address is

news personal professional computing outdoors reference travel humor

Mail Lists

ISP Related
IP Routing
Internet Security

SNMP (manage)


MacOS X 10.1.4
MacOS X 10.2

FreeBSD Mail Toaster FAQ
Author: Matt Simerson.
Last update: 02.08.2003

[ Install | Configure | FAQ | Filter | ChangeLog | Mailing List | List Archives ]

The original of this document can be found on my server in Michigan or my other server in Atlanta.

Free support is NOT provided by the author. If you want my time, expect to pay for it.

Contributions: Express ideas on the mailing list. If you are anxious to express your gratitude, feel free to purchase something from my wish list.

What Features Does the Toaster support?

SMTP Mail Server (+SMTP-AUTH, TLS (SSL), tarpitting)
Virtual Domain Hosting
Virtual Domain Users
Mailing List
Web Based E-Mail (SSL, spell check, LDAP lookup)
Web Based Virtual Domain Administration
Spam Blocking

What programs will be installed?

Qmail3 : qmail!
MySQL-3.23 : Database engine
ucspi-tcp-0.88 : Inetd replacement
daemontools-0.76 : Useful tools for managing daemons
qmailanalog: Tools for compiling qmail logs into useful info.
ezmlm-idx: Mailing list management
Apache + ssl, php, & perl: Secure HTTP server
OpenLDAP : LDAP client & server
vpopmail : Virtual Domain module
autorespond : Auto Responder
gdbm : Database routines
ispell : Spell checking for web mail
qmailadmin : Web Control Panel Interface
sqwebmail: Web based email
courier-IMAP: IMAP & POP3 servers

Where do users pick up their mail?

http://mail.example.com/cgi-bin/sqwebmail (redirects to https)

How do I manage users, mailing lists, autoresponders, mail forwarding, and aliases?

Point a web broswer at https://mail.example.com/cgi-bin/qmailadmin


maildomain perl script - Front end to nearly everything you can do with the vpopmail programs.

How do I convert Multilog date stamps to human readable date stamps?

# tai64nlocal < logfile > qmaillog.tmp

How do I find statistics about your mail queue:

Install isoqlog

Feed your qmail-send output through matchup and pipe it through a stats processor:
# /usr/local/qmailanalog/bin/matchup < /var/log/mail/send/current | /usr/local/qmailanalog/bin/z*
where z* is one of the following
# zddist, zdeferrals, zfailures, zoverall, zrecipients, zrhosts, zrxdelay, zsenders, zsuccesses, zsuids

How do I modify the HTML interface:

Sqwebmail: html temples live in /usr/local/share/sqwebmail/html/en-us/
qmailadmin: html templates live in /usr/local/share/qmailadmin/html/

How do I enable the sqwebmail calendar?

echo "local" > /usr/local/share/sqwebmail/calendarmode

When will you add Linux support?

When someplace warm freezes over. Just kidding, I'm really don't have a religious hatred for Linux (much), I just prefer other more mature tools that don't require as much care and feeding to own. If you prefer Linux, check out Bill Shupp's toaster pages. He's a very sharp fellow and does a lot of work with mail systems as well. :) There's also another derivative mail toaster project for Linux here. You might want to check it out.

How do I block connections from servers with no reverse DNS?

Contents of ~vpopmail/etc/tcp.smtp

:allow,RBLSMTPD="Blocked - Reverse DNS queries for your IP fail. You cannot send me mail."
#:allow,RBLSMTPD="-Blocked - Reverse DNS queries for your IP fail. You cannot send me mail.

1. Obvious, allowing localhost to relay.
2. Allows traffic from the inter7 mailing list (with no reverse DNS)
3. Matches any mail message with reverse dns.
4. Matches what's left (no reverse DNS). By setting the RBLSMTPD environment variable, we actually get to pass a message back to the mail server we're blocking telling them why. That gives them a chance to fix it before the messages bounces.

They'll get a message like this in their mail logs:

Mar 27 08:40:43 seattle qmail: 1048783243.397888 info msg 6469: bytes 258 from qp 13226 uid 0
Mar 27 08:40:43 seattle qmail: 1048783243.438981 starting delivery 533: msg 6469 to remote matt@simerson.net
Mar 27 08:40:43 seattle qmail: 1048783243.979048 delivery 533: deferral: Remote_host_said:_451_Blocked_ Reverse_DNS_queries_for_your_IP_failed. You_cannot_send_me_mail. Giving_up_on_207.89.154.94./

5. If you want to be a little more aggressive about it, use the 5th line instead of the fourth. Notice the '-' character in there. That tells rblsmtpd to return a permanent error (ie, don't try again!)
Mar 27 08:42:40 seattle qmail: 1048783360.776812 info msg 6475: bytes 250 from qp 13464 uid 0
Mar 27 08:42:40 seattle qmail: 1048783360.805534 starting delivery 534: msg 6475 to remote matt@simerson.net
Mar 27 08:42:41 seattle qmail: 1048783361.259737 delivery 534: failure: Remote_host_said:_553_Blocked_-_Reverse_DNS_queries_for_your_IP_fail. You_cannot_send_me_mail. Giving_up_on_207.89.154.94./
Mar 27 08:42:41 seattle qmail: 1048783361.269637 bounce msg 6475 qp 13467
Mar 27 08:42:41 seattle qmail: 1048783361.270564 end msg 6475

Notice that in the second case, the message bounces immediately. It's your mail server, you have to decide what policy you think is best. Bouncing messages seems to get more attention, and gets it faster than deferring connections.

That's all there is to it. Of course, that assumes you are running rblsmtpd as part of your smtp invocation.

How do I use SpamAssassin & ClamAV?

Until the toaster_setup.pl script makes it Brain Dead Easy to get right in (nearly) every situation, this is a manual process you'll have to undertake yourself. Chris Eaton documented the steps quite well right here

Whats the best way to view/expire messages from the queue?

See my qqtool.pl utility.

Why are IMAP connections getting reset?

See this post to the mailing list for a possible explanation.

© Matt Simerson 1999-2004 - Email suggestions or updates.