Understanding a service well enough to troubleshoot it is an important skill as a System Administrator. In this lab, we’ll go over troubleshooting a Postfix installation.
Learning Objectives
Successfully complete this lab by achieving the following learning objectives:
- Fix the relay error given during testing
First, we verify the reported issue by conducting our own test.
telnet localhost smtp Trying ::1... Connected to localhost. Escape character is '^]'. 220 server1.example.com ESMTP Postfix ehlo localhost 250-server1.example.com 250-PIPELINING 250-SIZE 10240000 250-VRFY 250-ETRN 250-ENHANCEDSTATUSCODES 250-8BITMIME 250 DSN mail from: postfixtester@example.com 250 2.1.0 Ok rcpt to: cloud_user@example.com 454 4.7.1 <cloud_user@example.com>: Relay access denied quit 221 2.0.0 Bye
Relay access denied
means there’s something wrong with the postfix configuration. If we look at/etc/postfix/main.cf
, we find that themydestination
setting has this:mydestination = $myhostname, localhost.$mydomain, localhost
It’s missing the
$mydomain
setting at the end of the line. So changing it to:mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
Then restart postfix to resolve the error.
telnet localhost smtp Trying ::1... Connected to localhost. Escape character is '^]'. 220 server1.example.com ESMTP Postfix ehlo localhost 250-server1.example.com 250-PIPELINING 250-SIZE 10240000 250-VRFY 250-ETRN 250-ENHANCEDSTATUSCODES 250-8BITMIME 250 DSN mail from: postfixtester@example.com 250 2.1.0 Ok rcpt to: cloud_user@example.com 250 2.1.5 Ok data 354 End data with <CR><LF>.<CR><LF> test. . 250 2.0.0 Ok: queued as 9B26C97CBF quit 221 2.0.0 Bye Connection closed by foreign host.
- Set cloud_user up to receive all of root’s email
The easiest way in my experience is to first verify the
alias_maps
setting inpostfix
‘smain.cf
.grep alias_maps /etc/postfix/main.cf ... alias_maps = hash:/etc/aliases ...
After making sure that’s set to
hash:/etc/aliases
, we can edit/etc/aliases
and make sure there’s aroot: cloud_user
line at the end, and then run thenewaliases
command.