Troubleshooting a Postfix Installation

15 minutes
  • 2 Learning Objectives

About this Hands-on Lab

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 the mydestination 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 in postfix‘s main.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 a root: cloud_user line at the end, and then run the newaliases command.

Additional Resources

A junior admin has come to you with a problem. He's been setting up a postfix server to handle internal mail, but his current testing gets a relay error when trying to send an email. You can use the postfixtester user to test sending an email.

Once you've resolved the error, configure the server to deliver all of the root's email to cloud_user.

What are Hands-on Labs

Hands-on Labs are real environments created by industry experts to help you learn. These environments help you gain knowledge and experience, practice without compromising your system, test without risk, destroy without fear, and let you learn from your mistakes. Hands-on Labs: practice your skills before delivering in the real world.

Get Started
Who’s going to be learning?

How many seats do you need?

  • $499 USD per seat per year
  • Billed Annually
  • Renews in 12 months

Ready to accelerate learning?

For over 25 licenses, a member of our sales team will walk you through a custom tailored solution for your business.


$2,495.00

Checkout
Sign In
Welcome Back!

Psst…this one if you’ve been moved to ACG!