<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Postfix and Linux</title> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> </head> <body> <h1><img src="postfix-logo.jpg" width="203" height="98" ALT="">Postfix and Linux</h1> <hr> <h2> Host lookup issues </h2> <p> By default Linux /etc/hosts lookups do not support multiple IP address per hostname. This causes warnings from the Postfix SMTP server that "hostname XXX does not resolve to address YYY", and is especially a problem with hosts that have both IPv4 and IPv6 addresses. To fix, turn on support for multiple IP addresses: </p> <blockquote> <pre> /etc/host.conf: ... # We have machines with multiple IP addresses. multi on ... </pre> </blockquote> <p> Alternatively, specify the RESOLV_MULTI environment variable in <a href="postconf.5.html">main.cf</a>: </p> <blockquote> <pre> /etc/postfix/<a href="postconf.5.html">main.cf</a>: <a href="postconf.5.html#import_environment">import_environment</a> = MAIL_CONFIG MAIL_DEBUG MAIL_LOGTAG TZ XAUTHORITY DISPLAY LANG=C RESOLV_MULTI=on </pre> </blockquote> <h2>Berkeley DB issues</h2> <p> If you can't compile Postfix because the file "db.h" isn't found, then you MUST install the Berkeley DB development package (name: db???-devel-???) that matches your system library. You can find out what is installed with the rpm command. For example: </p> <blockquote> <pre> $ <b>rpm -qf /usr/lib/libdb.so</b> db4-4.3.29-2 </pre> </blockquote> <p> This means that you need to install db4-devel-4.3.29-2 (on some systems, specify "<b>rpm -qf /lib/libdb.so</b>" instead). </p> <p> DO NOT download some Berkeley DB version from the network. Every Postfix program will dump core when it is built with a different Berkeley DB version than the version that is used by the system library routines. See the <a href="DB_README.html">DB_README</a> file for further information. </p> <h2>Procmail issues</h2> <p> On RedHat Linux 7.1 and later <b>procmail</b> no longer has permission to write the mail spool directory. Workaround: </p> <blockquote> <pre> # chmod 1777 /var/spool/mail </pre> </blockquote> <h2>Syslogd performance</h2> <p> LINUX <b>syslogd</b> uses synchronous writes by default. Because of this, <b>syslogd</b> can actually use more system resources than Postfix. To avoid such badness, disable synchronous mail logfile writes by editing /etc/syslog.conf and by prepending a - to the logfile name: </p> <blockquote> <pre> /etc/syslog.conf: mail.* -/var/log/mail.log </pre> </blockquote> <p> Send a "<b>kill -HUP</b>" to the <b>syslogd</b> to make the change effective. </p> </body> </html>