FreeBSD Qmail toaster

It is Wednesday 19 June 2024 - 14:06:07.
Your IP address is

news personal professional computing outdoors reference travel humor



Web Mail Calendar Mail Toaster Photo Galleries TNPI NicTool The Art Farm


My Yahoo PayPal UserFriendly Dilbert


Atlanta UG
Cadillac UG
Seattle UG
Garland UG


Mac News Computer News Dealmac Apple Google News


TNPI Support Simerson Renaissance Mac POS

Qmail + vpopmail + CourierIMAP + sqwebmail + MySQL for FreeBSD

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

3.0.2 07.13.2003
- Added additional POD documentation - Moved InstallApache* into MATT::Apache - Added creating of /var/log/apache to InstallApache2 - Additional notes for QMAILQUEUE usage for qmail-scanner - Moved InstallMysqlTool to MATT::Mysql - Moved InstallGroup and InstallUser to MATT::Passwd - Moved InstallPackage, CheckPortsAge, and InstallPort to MATT::FreeBSD - Moved YesOrNo, FindTheBin, SysCmd, ReadFile, WriteFile to MATT::Utility

3.0.1 07.10.2003

- Fixed a permissions error with $prot/log/run files
- Added MATT::Utility dependency, removed subs GetAnswer, ReadFile, WriteFile, SysCmd, FindTheBin, YesOrNo

3.0.0 06.16.2003

- Added --enable-rebuild-tcpserver-file=n to InstallVpopmail
- Updated vpopmail to version 5.3.20 (devel)
- Updated qmailadmin to 1.0.21
- Enable spam options in qmailadmin per filtering recipe
- Added filtering page on site for assistance in setting up filtering

2.7.8 05.22.2003

- Updated maillogs sub to run CreateSuperviseDirs
- Commented out adding service/*/log/down files
(Beginning to trend back towards using multilog)


- Removed mysqltool from setup page

2.7.6 05.12.2003

- Update ucspi-tcp MySQL patch with query change submitted by Flavio Curti
( Allows you to put entries for subnets in the
MySQL relay table with a NULL timestamp and remove the necessity of
putting your relay netblocks in a tcp.smtp.cdb file.

2.7.5 05.02.2003

- Added InstallQmailScanner subroutine

2.7.2 04.23.03

- Fixed InstallQmailAdmin so that help files get installed properly on new installs
- Updated so courier files get chmod to 755
- InstallVpopmail now asks about qmail-extensions
- InstallVpopmail - added =y to --enable-valias
- InstallFilter - added clamav port install

2.7.1 04.15.03

- Fixed InstallQmail so sources get removed before rebuild.
- Qmail-smtpd is now chowned to vpopmail if you are using chk-usr functions.

ChangeLog: v2.7 - 04.09.2003

- Misc updates for FreeBSD 4.8
- Added Apache2 install section
- Apache2 also installs mod_php4 and mod_perl2
- Install cvsup-without-gui instead of cvsup
- Install perl5 from ports (5.6.1)

2.6.7 03.28.03
- CheckPortsAge - fixed URL for cvsup-ports file retrieval
- Ask if password learning should be enabled (use to always choose yes)
- Ask what type of vpopmail logging is desired.
- Ask user if domains are owned by users other than vpopmail. If so,
run the qmail-smtpd daemon as root.
- Updated mod_ssl to 2.8.14
- Added domain quota question to Vpopmail interview
- copy vlimits.h file to ~vpopmail/include/
- fixed typo (s/answer/ans) in InstallVpopmail

2.6.6 03.26.03

- Updated vpopmail version to 5.3.19
- Updated qmailadmin to 1.0.15

2.6.5 03.19.03

- Updated qmail-smtpd run file with ideas from
- Changed URL for mysqltool.index.txt file

2.6.4 03.13.03

- $supervise/send/log/run how gets a working config file
- Apache build goes a little farther, after getting input
- Check for src earlier in qmail install

2.6.3 03.11.03

- Updated to use qmail-toaster patch 2.4 (added qmail-smtpd-chkusr patch)

2.6.2 03.08.03

- Added interview for $service files so they don't need to
be hand edited after install
- Added interview for netblocks (tcp.smtp) list that you
need to relay for.
- Build $qmaildir/service files (smtp/run, pop3/run)
based on user input instead of my defaults.
- Bugfix in RemoveOldApacheSources
- Lots of reporting added to InstallSupervise and it's
new list of subs - Don't bother re-installing qmailadmin help files if they
are already present.

2.6.1 03.06.03

- Updated qmailadmin to 1.0.12
- Moved ChangeLog to web page

ChangeLog: v2.6 - 03.06.2003

Updated qmailadmin to 1.0.12
Complete code review and updates to (2.6).
Lots of overall code updates to nearly every sub (audit)
More build time interview questions.
Code is now more portable (for a future on other platforms).
Ironically, there was enough duplication that despite adding
a bunch of fresh code, the resulting script is now smaller.
Wrapped all system commands in a SysCmd sub with error checking
All FetchFile calls are clean enough now to use any fetching
tool (instead of just fetch). (portability)
InstallPackage & InstallPort report better and are more reliable
Install(User|Group) use get__nam functions instead of system calls
ConfigQmail asks for SQL password instead of writing default value to $qmail/control/sql
InstallEzmlm doesn't overwrite preinstalled config files
Install stuff into $httpdir/data/mail if it exists
Moved lots of redundant code from subs into SourceWarning
Moved Personal Preferences to the top of the script

ChangeLog: v2.5 - 02.07.2003

Updated qmailadmin to 1.0.9
Updated vpopmail to 5.3.16
Updated script to 1.7
Dynamically configure qmailadmin based on answers to a series of questions I ask. Now you're not necessarily stuck with my choices. :)
Added install_vpopmail subroutine with lots of questions for user customizability
Added read_file and write_file subs
Made sure apache doesn't compile using old sources
Added squirrelmail install
Added cvsup (auto install, configure, and run).
Added yes_or_no subroutine
Added find_the_bin subroutine to make script more self configuring and more portable.
Updated a bunch of system calls (rm, mv, and ln) to use perl functions for increased portability.
Added socklog install function
Added filtering section
Made install section cleaner and prettier
Added Apache install section defined $toaster, $httpdir, $confdir
Added Mysqltool install section
Added qmailadmin install section
Added sqwebmail install section
Added courier imap build section
Added check for stale ports tree
Disable the $local/rc.d/ file that get's installed.
Fixed permission of $qmailcontrol/bin/servercert.pem
Moved all $fetch calls into sub fetch_files (LWP future?)
Made the supervise directory creation much more robust
Added more error checking and feedback to install_qmail
Added install of ucspi-tcp to script
Added better checks for user and group entries

Updated qmailadmin with MySQL replication and quota fixes
updated sqwebmail instructions, version to 3.3.7
Updated qmail patch (2.3) to use newer smtp-auth 0.31
Removed badmailfrom and badrcptto patches from qmail
Updated script to v1.4

Made the qmail binary install honor the $qmaildir
Updated to smtp_run-1.1 (uid for qmail-smtpd is now vpopmail)
Owner of /var/qmail/control/sql needs to be vpopmail

ChangeLog: v2.2 - Updated qmail, vpopmail, qmailadmin.

cgi-bin dir changed to more normal location of cgi-bin.
qmailadmin 1.0.6 - along with quota support which I hacked in
Vpopmail 5.3.5 - smth-auth works. :-) .
qmail toaster patch - added qmailqueue & qpop3d maildir++ quota patches
qmailqueue - Added qmailqueue support to my qmail toaster patch - moved a bunch more of the config and install steps into the script

ChangeLog: v2.1 - Updated autoresponder, Vpopmail, qmailadmin, and courier-imap.

Autoresponder is now installed from ports instead of as a package. As of 2/21/02 if you
update your ports tree and install, you'll get version 2.02.

Vpopmail is updated from 5.0 to 5.2. You can simply install 5.2 right over top of 5.0 with no

Qmailadmin is updated from 1.0 to 1.02. Just install right over the old one.

Courier-IMAP is updated from 1.3.12 to 1.4.2. Adds quota support. Note the additional configuration
steps in the courier install section of the toaster recipe.

ChangeLog: v2.0 - Latest versions of all programs, everything works, fun changes.

Added TLS support to qmail-smtpd
Updated my qmail-toaster patch to use SMTP-AUTH 0.30 from
Updated smtp control file accordingly.
Vpopmail updated to version 5.0
Courier-IMAP updated to 1.3.12
Sqwebmail updated to 3.2
Updated ucspi-tcp patch to include rss patch to rblsmtpd
Changed Apache build to statically include mod_ssl, mod_php, & mod_perl. Mod perl fails when loaded dynamically and after toiling for many hours, I gave up and compiled it statically. I learned many others before me had gone down that road and failed as well. I don't feel bad about it.

ChangeLog: v1.7 - MySQL authentication, SMTP tarpitting, & SMTP-AUTH support.

ChangeLog: v1.6 -

SMTP relay table is entirely contained in a MySQL table. Previously the tcp.smtp.cdb file was still generated based upon the contents of a MySQL table. We have modified the tcpserver application to check a MySQL table (instead of a flat file) for each SMTP session to determine if a user's IP can relay or not. If the database connection fails, we allow the SMTP session anyway but don't allow relaying. Invoke tcpserver with the -S flag to utilize the new feature.

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