Mail::Toaster::Setup FAQ

- What features does the Toaster support?
- What programs will be installed?
- What are the mail retrieval options?
- How do I manage mail options for a domain?
- Where do I find the maildomain script?
- How do I convert Multilog date stamps to human readable date stamps?
- How do I find statistics about my mail queue:
- How do I enable the sqwebmail calendar?
- When will you add support for my platform?
- How do I block connections from servers with no reverse DNS?
- How do I use SpamAssassin & ClamAV?
- Whats the best way to view/expire messages from the queue?
- Why are IMAP connections getting reset?
- How do I delete old messages in the Spam folders?
- Where is the UCSPI-TCP patch?
- How can I modify the Sqwebmail interface?
- How can I modify the Qmailadmin interface?

# What features does the Toaster support?

      SMTP Mail Server (+SMTP-AUTH, TLS (SSL), tarpitting)
      Virtual Domain Hosting
      Virtual Domain Users
      AutoResponder
      Mailing List (Ezmlm)
      Web Based E-Mail (SSL, spell check, LDAP lookup)
      Web Based Virtual Domain Administration
      Spam Blocking (SpamAssassin, Qmail-Scanner)
      SMTP roaming via SMTP-AUTH, POP-AUTH, & IMAP-AUTH
      POP3 (+SSL)
      IMAP (+SSL)

# What programs will be installed?

      Qmail 1.03  : Secure, wicked fast, and reliable MTA
      MySQL       : Database engine
      ucspi-tcp   : Inetd replacement
      daemontools : Useful tools for managing daemons
      qmailanalog : Tools for parsing qmail logs
      ezmlm-idx   : Mailing list management
      Apache + mod_php & mod_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

# What are the mail retrieval options?

      pop3://mail.example.com
      imap://mail.example.com
      pop3s://mail.example.com
      imaps://mail.example.com

      http://mail.example.com/cgi-bin/sqwebmail
      https://mail.example.com/cgi-bin/sqwebmail

      http://squirrelmail.example.com/
      https://squirrelmail.example.com/

# How do I manage mail options for a domain?

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

# Where do I find the maildomain script?

maildomain perl script - Front end to nearly everything you can do with the vpopmail programs. http://localhost.tnpi.biz/internet/mail/toaster/maildomain/maildomain.pl

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

      tai64nlocal < logfile > qmaillog.tmp

# How do I find statistics about my mail queue:

      1. qmail queue | more

      2. Install isoqlog

      3. Manually feed qmail-send output through matchup and pipe
        the results through a processor (all one one line):

         /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 enable the sqwebmail calendar?

echo ``local'' &gt; /usr/local/share/sqwebmail/calendarmode

# When will you add support for my platform?

I have already begun making all my scripts more extensible in anticipation of using them on platforms other than FreeBSD where they were developed. My next ``supported'' OS will be Mac OS X and then probably Linux. If you prefer Linux, check out Bill Shupp's toaster pages. Here's a couple URLs for you: http://www.shupp.org/toaster/ and http://qmailtoaster.clikka.com/.

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

Contents of ~vpopmail/etc/tcp.smtp (fix wrapped lines):

     127.:allow,RELAYCLIENT=""
     209.218.8.2:allow
     =:allow
     :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."

     line 1. Obvious, allows localhost to relay.
     line 2. Allows traffic from the inter7 email list
     line 3. Matches any mail message with reverse dns.

line 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: 207.89.154.94_does_not_like_recipient./ Remote_host_said:_451_Blocked_ Reverse_DNS_queries_for_your_IP_failed. You_cannot_send_me_mail. Giving_up_on_207.89.154.94./

line 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: 207.89.154.94_does_not_like_recipient. 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?

See the Filtering section at http://www.tnpi.biz/internet/mail/toaster/filter.shtml

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

Use my qqtool utility: http://www.tnpi.biz/internet/mail/qqtool/

# Why are IMAP connections getting reset?

See this post to the mailing list for a possible explanation: http://matt.simerson.net/cgi-bin/ezmlm.cgi?mss:2006:pnonldigcpgkfpehlcgo

# How do I delete old messages in the Spam folders?

find /usr/local/vpopmail/domains/*/*/Maildir/.SPAM/cur -type f -mtime +30 -exec rm -f {} \;

deletes files older than 30d

no guarantee, that just came off from the top of my head :) haven't tested, but worth the try :D regards, Andryan.

# Where is the UCSPI-TCP patch?

http://www.tnpi.biz/internet/mail/toaster/patches/tcpserver-mysql.shtml

The patch adds MySQL query support to tcpserver. The patch will allow tcpserver to query a Mysql server for each new connection and set RELAYCLIENT based on the presence of the remote IP in the table. This is a very useful and popular patch.

# How can I modify the Sqwebmail interface?

The html temples live in /usr/local/share/sqwebmail/html/

# How can I modify the Qmailadmin interface?

The html templates live in /usr/local/share/qmailadmin/html/