Welcome to the QmailToaster FAQs page.
What is QmailToaster?
QmailToaster is a full blown mail server distribution for use with most rpm based Linux distributions. QmailToaster is distributed as source rpm's which require compiling on the host system before installation. This is done to meet licensing requirements set forth by the original creator of qmail, D. J. Bernstein.
The last official release of qmail was in 1998, and as such QmailToaster has included many patches to update functionality. In addition QmailToaster has been integrated with a few other niceties, such as web based e-mail and web based administration.
What features does QmailToaster have?
QmailToaster is a full featured Mail Services solution. It includes the following and more:
- SMTP with SMTP-AUTH, SpamThrottle, DNS, large concurrency
- SPF "Sender Policy Framework"
- Integrated SpamAssassin, ClamAV and Simscan
- Warlord virus and worm loader realtime scanning
- CHKUSER 2.0 functions for qmail-smtpd
- Qmail-Tap provides email archive capability
- Virtual Domains (MySQL), Virtual Users (MySQL)
- Autoresponder, Mailing List
- Web-based email system, Web-based administration tools
- SMTP roaming via SMTP-AUTH, POP3-AUTH, & IMAP-AUTH
- POP3, POP3-SSL, IMAP and IMAP-SSL
Is it unstable?
Where do I get it?
Can I use yum or apt for installation?
No. QmailToaster is distributed as source rpm's. This means that you must download and compile the packages on your machine. There are, however, easy to use scripts available at the official QmailToaster site that make installation and dependency resolution a snap. Read on for more information.
Is there a mailing list?
Yes. To subscribe, send an empty e-mail here.
Alright you've talked me into it, how do I install?
What are the dependencies to install?
This can vary from distribution to distribution. Specifics are available here.
I want to do a manual install, what is the correct installation order?
How do I manually build a QmailToaster package for my distro?
Each distribution has a flag associated with it. Find the flag on the main page.
Now set an environmental variable for your distro above as follows (this example uses CentOS 4):
# export DIST="--with cnt40"
Now build each package, in the order described above, as follows:
# rpmbuild --rebuild $DIST package.src.rpm
I want to run the QmailToaster on RHEL, but do not see a flag for it. What can I do?
For Red Hat Enterprise Linux 3.0 use cnt30. For Red Hat Enterprise Linux 4.0 use cnt40
What about rpm-based distro X?
If there is enough demand for the distro it could very well make the cut. Feel free to submit the request via the mailing list or as a feature request in our bug tracker.
I want to install TMDA on my toaster. Will this work with QmailToaster?
How can I be informed if there are updates to qmail-toaster
I ran into a snag during installation, where can I get help?
The best places to get help are the mailing list and the wiki. Additionally you could try catching us on irc.freenode.net in #QmailToaster. The main developers and the community are always quick to respond to issues and problems with the QmailToaster system.
I get "error: %post(zlib-1.2.3-1.0.3.i686) scriptlet failed, exit status 255" when installing zlib
You get this error when upgrading zlib if selinux is enabled. Edit /etc/selinux/config, and change to SELINUX=disabled, then reboot and continue.
QmailAdmin doesn't show my aliases/forwards. How can I fix this?
This is usually caused after an upgrade from an older version of QmailToaster. The fix for this is simple, just run the following command:
# /home/vpopmail/bin/dotqmail2valias -a
I can't send or recieve zip files
In a text editor open /var/qmail/control/badmimetypes and put a # in front if the MyDoom rule. The result should look like this:
# MyDoom (*.zip) # UEsDBAoAA
Then execute /var/qmail/bin/qmail-badmimetypes to regenerate the cdb file. This filter doesn't always work correctly and may incorrectly block zip files. I believe this will be the new default on the next version of the qmailtoaster.
My IMAP client isn't working properly
If you're running Courier IMAP, make sure you set the IMAP Root String to "INBOX." without the quotes. This restriction has been removed in the Dovecot configuration for QMT.
I don't see my aliases/forwards in vqadmin
vqadmin-toaster-2.3.4-1.3.2 has been upgraded to support aliases. However, because this package is not fully functional (quotas are not supported), it is recommended that you use it minimally or uninstall it. This package is provided for legacy support.
When I set quotas using vqadmin, they're not reflected in qmailadmin
The vqadmin package does not use the vlimits database table to handle quotas, like the newer vpopmail package does. It uses an old deprecated method and can't override a quota set via qmailadmin. In short, if you're going to use vqadmin, it should be used only for adding/deleting domains and forwards, and changing passwords for domains and forwards. Qmailadmin or the CLI should be used for everything else!
I upgraded my QmailToaster to the latest and I no longer have the "Spam Detection" box in Qmailadmin.
This feature had been removed because it used to conflict with overquota notification. Mark Samples fixed the mailfilter script and it was load test by Jake Vickers and re-entered back into the main trunk. This option is OFF by default, so you will have to manually turn it back on for this functionality. To do this, use maildrop-toaster-2.0.2-1.3.2 or later, along with qmailadmin-toaster-1.2.9-1.3.2 or later. qmailadmin-toaster needs to be built with "--define 'spambox 1'" as a parameter, such as:
rpmbuild --rebuild --with cnt40 --define 'spambox 1' qmailadmin-toaster-*.src.rpm
Then install the new packages as normal.
If you use qtp-newmodel for upgrading, simply
echo "--define 'spambox 1'" >/opt/qmailtoaster-plus/etc/rpmbuild/qmailadmin-toaster
before running qtp-newmodel, and you'll be good to go.
The simplest way to fix this problem is this:
# cd /opt/qmailtoaster-plus/etc/rpmbuild # cp qmailadmin-toaster.sample qmailadmin-toaster # qtp-newmodel (if it asks " The following packages have already been selected:" and lists all of the updates, select [n] and continue selecting [n] until you get to select the qmailadmin-toaster package for rebuild, select [y] and it will rebuild just the qmailadmin package)
It is also worth noting that the default Simscan config is set to reject spam messages at the same score as the mailfilter script. You will need to change the simcontrol default score to a higher value to allow spam messages to be processed by the mailfilter script or the spambox option will have no visible effect. For similar reasons, do not use the sample-spam.txt included in the Spamassassin install to test the spambox functionality, as it scores 1000 and will be rejected by Simscan before being processed by the mailfilter script.
I get permission denied when I attempt to use the admin-toaster in the apache error_log
This is most likely to happen on an FC3, FC4, or CentOS 4 distribution and is usually attributed to leaving selinux enabled. To disable selinux, edit /etc/selinux/config and make sure that SELINUX=disabled. Once done, just reboot and try again.
I have an error, my IMAP server isn't starting up properly, how can I fix this?
Ensure that your hostname is set properly by your operating system. It is such a perfect internet site! Nonetheless, is it real to find some term papers writing helper here? I am willing to buy college research paper! Please give me your suggestions! If you type 'hostname --fqdn' and get 'hostname: No address associated with name returned, then the hostname for your system is not properly configured for your fqdn. This is necessary for IMAP operation.
For CentOS/RedHat/Fedora, this is configured by setting your FQDN in /etc/sysconfig/network under HOSTNAME=. This is usually caused when you accept the default of localhost.localdomain. You may also want to add an entry to the /etc/hosts table with your static IP and FQDN.
I am getting the stats-toaster page, but images aren't showing up. How can I fix this?
Simply edit /usr/share/toaster/mrtg/qmailmrtg.cfg and change WorkDir from the older /usr/share/toaster/mrtg to the current /usr/share/toaster/htdocs/mrtg. This is not an issue on the current install.
I upgraded ClamAV or SpamAssassin, and the headers still report the older version number, how do I fix this?
Execute the following command to rebuild the version info associated with simscan:
# /var/qmail/bin/simscanmk -g
You should see the following output:
simscan versions cdb file built. /var/qmail/control/simversions.cdb
This is not an issue with the current upgrade process.
I see a message in my smtp log that states "User_and_password_not_set,_continuing_without_authentication". What is going on?
That message is just the remote-auth patch saying that the destination did not have a username/password set in smtproutes, which is usually the intended behavior. This is a diagnosis tool for people who actually set artificial routes that require login/password. This is not an error message and can be safely ignored.
A large number of messages are stuck in the send queue. What can I do to stop this from happening?
It's for ezmlm and vqadmin. It is included with control-panel-toaster so there wouldn't be so many separate config files. The QmailToaster attempts to be a turnkey solution, so if you don't install everything, you may need to modify the configuration slightly. If you don't need it, comment it out.
How can I tell if my server is configured as an open relay?
Why do I keep getting 571 sorry, reached maximum number of recipients for one session (#5.7.1 - chkuser) or 571 sorry, you are violating our security policies (#5.7.1 - chkuser) errors?
You have put too many recipients in the TO: or CC: fields of your email. These limits are define in your /etc/tcprules.d/tcp.smtp file.
Defines how many people can be in the TO: or CC: fields of an email.
What does error "deferral: maildrop:_signal_0x19" mean, and how do I fix it?
This error has probably popped up because your /var/log/maildrop/maildrop.log file has exceeded a file size of 2G. You'll have to manually rotate the file, but the error should clear up once you do.
I keep getting "5.1.0 - Unknown address error 571-'sorry, sender address has invalid format (#5.7.1 - chkuser)'" errors, especially from people with Blackberry devices. What can I do?
The sender is using an illegal character. In Blackberry's case they're using a spam firewall that uses the slash character (/) in the sending email address when messages are sent from the Blackberry device, regardless of the reply-to address. To work around this you can either recompile chkuser to allow for the illegal character, or turn off chkuser checks for their mail servers. Below is my tcp.smtp file which includes all Blackberry mail servers I have found (a couple are ghosts, and do not appear in DNS for the record):
126.96.36.199:allow,RELAYCLIENT="",RBLSMTPD="",SENDER_NOCHECK="1" 188.8.131.52:allow,RELAYCLIENT="",RBLSMTPD="",SENDER_NOCHECK="1" 184.108.40.206:allow,RELAYCLIENT="",RBLSMTPD="",SENDER_NOCHECK="1" 220.127.116.11:allow,RELAYCLIENT="",RBLSMTPD="",SENDER_NOCHECK="1" 18.104.22.168:allow,RELAYCLIENT="",RBLSMTPD="",SENDER_NOCHECK="1" 22.214.171.124:allow,RELAYCLIENT="",RBLSMTPD="",SENDER_NOCHECK="1" 126.96.36.199:allow,RELAYCLIENT="",RBLSMTPD="",SENDER_NOCHECK="1" 188.8.131.52:allow,RELAYCLIENT="",RBLSMTPD="",SENDER_NOCHECK="1" 184.108.40.206:allow,RELAYCLIENT="",RBLSMTPD="",SENDER_NOCHECK="1" 220.127.116.11:allow,RELAYCLIENT="",RBLSMTPD="",SENDER_NOCHECK="1" 18.104.22.168:allow,RELAYCLIENT="",RBLSMTPD="",SENDER_NOCHECK="1" 22.214.171.124:allow,RELAYCLIENT="",RBLSMTPD="",SENDER_NOCHECK="1"
Edit: I got tired of adding a new Blackberry server every couple days so I just disabled the check for all incoming mail:
Edit: Based on KB from RIM Firewall and connection requirements for the BlackBerry Internet Service here the updated (as 2011-Sep-27) rules:
206.51.26.:allow,RELAYCLIENT="",RBLSMTPD="",SENDER_NOCHECK="1" 193.109.81.:allow,RELAYCLIENT="",RBLSMTPD="",SENDER_NOCHECK="1" 204.187.87.:allow,RELAYCLIENT="",RBLSMTPD="",SENDER_NOCHECK="1" 206.53.144-159.:allow,RELAYCLIENT="",RBLSMTPD="",SENDER_NOCHECK="1" 216.9.240-255.:allow,RELAYCLIENT="",RBLSMTPD="",SENDER_NOCHECK="1" 67.223.64-95.:allow,RELAYCLIENT="",RBLSMTPD="",SENDER_NOCHECK="1" 93.186.16-31.:allow,RELAYCLIENT="",RBLSMTPD="",SENDER_NOCHECK="1" 68.171.224-255.:allow,RELAYCLIENT="",RBLSMTPD="",SENDER_NOCHECK="1" 74.82.64-95.:allow,RELAYCLIENT="",RBLSMTPD="",SENDER_NOCHECK="1" 173.247.32-63.:allow,RELAYCLIENT="",RBLSMTPD="",SENDER_NOCHECK="1" 178.239.80-95.:allow,RELAYCLIENT="",RBLSMTPD="",SENDER_NOCHECK="1" 180.149.148-151.:allow,RELAYCLIENT="",RBLSMTPD="",SENDER_NOCHECK="1" 180.168.204-207.:allow,RELAYCLIENT="",RBLSMTPD="",SENDER_NOCHECK="1"
How do I use recordio to diagnose problems?
recordio records all IO for a daemon. Plugging this into your run file (usually the smtp/run file) will generate a lot of logs entries, but gives you very detailed entries on what is happening with your server. Here's an example for the smtp run file (notice the entry on the second to last line):
#!/bin/sh QMAILDUID=`id -u vpopmail` NOFILESGID=`id -g vpopmail` MAXSMTPD=`cat /var/qmail/control/concurrencyincoming` BLACKLIST=`cat /var/qmail/control/blacklists` SMTPD="/var/qmail/bin/qmail-smtpd" TCP_CDB="/etc/tcprules.d/tcp.smtp.cdb" RBLSMTPD="/usr/bin/rblsmtpd" HOSTNAME=`hostname` VCHKPW="/home/vpopmail/bin/vchkpw" REQUIRE_AUTH=0
exec /usr/bin/softlimit -m 22000000 \ /usr/bin/tcpserver -v -R -H -l $HOSTNAME -x $TCP_CDB -c "$MAXSMTPD" \ -u "$QMAILDUID" -g "$NOFILESGID" 0 smtp \ /usr/bin/recordio \ $RBLSMTPD $BLACKLIST $SMTPD $VCHKPW /bin/true 2>&1
Non existing senders accepted
Q: My server accepting email from non-existing account. How do I stop it?
tcpserver: pid 6142 from 126.96.36.199 tcpserver: ok 6142 ariel.sylcomed.com:192.168.1.251:25 :188.8.131.52::1837 CHKUSER accepted sender: from <firstname.lastname@example.org <mailto:email@example.com>::> remote <184.108.40.206:unknown:220.127.116.11> rcpt <> : sender accepted tcpserver: end 6142 status 0 tcpserver: status: 0/100
A: Your server is accepting a message for a null sender ( the <> ). You must accept these messages as they are normally bounces. Your server looks to be functioning correctly. If you are unsure you can check your server here: http://www.checkor.com/
If your IMAP performance is poor, particularly with large mailboxes, you should replace Courier with Dovecot. See the dovecot wiki page for details.
Is there any information on backup and restoring a qmailtoaster?
Yes, Jake Vickers has provided a nice web page with scripts for backup and restore. His site is available here.
I want feature X!
Send a note to the mailing list, and perhaps this suggestion will be included. Just remember this is a community project and not all suggestions make the cut.
I would like to contribute, how should I go about it?
Just send a note to the mailing list. This is a community project and packages/updates that meet the standard will probably make the cut.
What is username/password for http://mydomain.com/admin-toaster/?
Default (fresh install) username/password for admin-toaster is admin/toaster. You need to change it ASAP, by using "Change Admin Password" feature inside admin-toaster.
I've lost my password to http://mydomain.com/admin-toaster/ - how do I change it?
It should be stored in clear text in the /usr/share/toaster/include/admin.pass file. Use this password to log into the web page, then change it there.
I forgot password to admin-toaster, and I want to change it directly. How to do it?
You can change it by typing this on console:
htpasswd -c /usr/share/toaster/include/admin.htpasswd admin
How do I create a forwarding email address with multiple recipients?
Create the forward in QmailAdmin like normal. Once this has been done, view your forwards and click the edit icon for the forward you want multiple recipients on. In this window go ahead and add an additional forward and click Add.
How do I change the default password to the vpopmail database?
Change the /home/vpopmail/etc/vpopmail.mysql file with your new password, from your favorite editor.
Then from the command line, type
echo "GRANT ALL ON vpopmail.* TO vpopmail@localhost IDENTIFIED BY 'newpassword';" | mysql -u root -p