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)
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
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/
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. http://localhost.tnpi.biz/internet/mail/toaster/maildomain/maildomain.pl
tai64nlocal < logfile > qmaillog.tmp
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
echo ``local'' > /usr/local/share/sqwebmail/calendarmode
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/.
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.
See the Filtering section at http://www.tnpi.biz/internet/mail/toaster/filter.shtml
Use my qqtool utility: http://www.tnpi.biz/internet/mail/qqtool/
See this post to the mailing list for a possible explanation: http://matt.simerson.net/cgi-bin/ezmlm.cgi?mss:2006:pnonldigcpgkfpehlcgo
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.
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.
The html temples live in /usr/local/share/sqwebmail/html/
The html templates live in /usr/local/share/qmailadmin/html/