General troubleshooting tips
- Run “postfix check” to make Postfix look for obvious configuration errors. If it returns no output then no problem was found.
- Read your /var/log/mail.log and look for warnings and errors.
Common problems and solutions
ClamAV fails to scan for viruses
May 7 12:42:28 debian amavis: (01834-01) (!)run_av (ClamAV-clamd) FAILED – unexpected , output=”/var/lib/amavis/tmp/amavis-20110507T124228-01834/parts: lstat() failed: Permission denied. ERROR\n”
You forgot to run
adduser clamav amavis
Missing indentation in the master.cf
The /etc/postfix/master.cf file needs proper indentation. The first line of each service starts in the first column. Additional lines of the same service need to be indented by spaces.
Postfix keeps unwanted emails in the queue
Check that you do not keep soft_bounce enabled. If “postconf soft_bounce” shows “yes” then run “postconf soft_bounce=no”.
I get “Permission denied” from Dovecot in the mail.log file
You have the permissions wrong. Run:
chown -R vmail:vmail /var/vmail
Postfix says: “Mail loops back to myself”
Postfix tried to send an email to the internet because it did not feel responsible for the recipient’s domain. However DNS records pointed it back to itself. So either your DNS record for a certain domain is wrong (unlikely) or your Postfix refuses to receive email for the given domain (very likely). Check that the recipient’s domain is listed in the “virtual_domains” table in the MySQL database. And verify that your CF files are working correctly.
Why is the database not normalized (email addresses with domain in virtual_users table)?
It’s possible to normalize the database and use the JOIN syntax to get the domain name from the virtual_domains table. But that would lead to string operations when Postfix and Dovecot look up a certain email address. This quickly becomes a performance penalty when you have many users. So in this case performance wsas rated higher than strict normalisation.
Why are the passwords stored in unsalted MD5 hashes? Isn’t that insecure?
Yes, that’s indeed less secure than using salted hashes. The password storage format has been kept unchanged though for server administrators that kept upgrading their Debian mail server from previous Debian versions.
If you are interested in making your mail server more secure and don’t have any legacy users then consider the Dovecot documentation on passwords schemes to use saltes hashes.