You are not logged in.
I installed and configured postfix/cyrus and then sent myself a couple of test messges. The messages don't show up anywhere, so I ran
journalctl -u postfix -f
to see where the problem was, sent myself another message from another machine and got ... nothing. The only thing displayed are the Start/Stop service messages.
Does systemd not log service activity for postfix? I was planning on installing syslog-ng (or rsyslog) anyway, as I need to have message log persistence across reboots, but I thought that this stuff would at least be logged while it's happening.
Last edited by pgoetz (2015-01-29 11:58:10)
Offline
Never mind, I'm an idiot. My ISP was blocking port 25 traffic (even though I explicitly asked them if they blocked port 25 when I set up the account, and they responded no).
So as to not be a complete waste of a human life, here are some simple debugging steps for someone who happens to stumble upon this post.
From an external host, try telneting to port 25 before doing anything else.
$ telnet pgoetz.com 25
If this hangs, then postfix is either not listening on port 25 or the traffic is being blocked. At this point, check to make sure that your ISP isn't blocking port 25 traffic.
If running a firewall, check your firewall rules:
$ iptables -L
You should see something that looks like this:
ACCEPT tcp -- anywhere anywhere tcp dpt:smtp
If you don't see this, your firewall is blocking traffic to port 25. See the iptables documentation for fixing this.
If the firewall is OK, next check to see if postfix is actually listening on the port:
ss -nlpt | grep 25
You should see something that looks like this:
LISTEN 0 100 *:25 *:*
users:(("smtpd",pid=20261,fd=6),("master",pid=19480,fd=13))
If you don't see this, there is a good chance that either postfix is not running or inet_interfaces is not configured properly in /etc/postfix/main.cf. The default value for inet_interfaces is
inet_interfaces = all
. Unless you absolutely know what you're doing, you should leave this set at the default; i.e. don't set this parameter in /etc/postfix/main.cf at all. To check if postscript is running,
systemctl status postfix
or
ps auxw | grep postfix
. If you don't see a line that looks like this:
root 19480 0.0 0.0 12432 2136 ? Ss 05:58 0:00 /usr/lib/postfix/master -w
postfix isn't running.
Finally,
journalctl -u postfix -f
is your friend. Use it early and often when debugging postfix problems. It will reveal missing files (e.g.
Jan 16 07:03:29 ibis postfix/local[20277]: error: open database /etc/postfix/aliases.db: No such file or directory
and anything else that postfix is unhappy about.
Happy postfixing!
Offline