Can’t send mail to own domain. Postfix: status=bounced (unknown user: “user”)

Last updated on

Having problems sending email to your own domain? You may need to change your postfix configuration.

I was experiencing a problem sending mail to an address @ my own domain. Accessing the log:

sudo tail /var/log/mail.log -n 200

This will return the last 200 lines of the log.

Log output:

/var/log/mail.log
May 24 12:28:04 example postfix/pickup[30776]: DC48FC0927: uid=33 from=
May 24 12:28:04 example postfix/cleanup[32746]: DC48FC0927: message-id=<7662c91b0e00d2a3eb28eb1dbee01d98@178.62.26.57>
May 24 12:28:04 example postfix/qmgr[1711]: DC48FC0927: from=, size=9136, nrcpt=1 (queue active)
May 24 12:28:04 example postfix/local[32748]: DC48FC0927: to=, relay=local, delay=0.06, delays=0.03/0.01/0/0.01, dsn=5.1.1, status=bounced (unknown user: "user")
May 24 12:28:04 example postfix/cleanup[32746]: E7413C0928: message-id=<20170524122804.E7413C0928@example.com>
May 24 12:28:04 example postfix/qmgr[1711]: E7413C0928: from=<>, size=10993, nrcpt=1 (queue active)
May 24 12:28:04 example postfix/bounce[32749]: DC48FC0927: sender non-delivery notification: E7413C0928
May 24 12:28:04 example postfix/qmgr[1711]: DC48FC0927: removed
May 24 12:28:04 example postfix/local[32748]: E7413C0928: to=, relay=local, delay=0.01, delays=0/0/0/0, dsn=2.0.0, status=sent (delivered to mailbox)
May 24 12:28:04 example postfix/qmgr[1711]: E7413C0928: removed
May 24 12:28:04 example postfix/pickup[30776]: EBC48C0927: uid=33 from=
May 24 12:28:04 example postfix/cleanup[32746]: EBC48C0927: message-id=
May 24 12:28:04 example postfix/qmgr[1711]: EBC48C0927: from=, size=8898, nrcpt=1 (queue active)

I’m not sure if others have experienced this issue, but if your email server is hosted on another domain and you use postfix and SMTP to send local emails from a web form, then you need to setup the following in your postfix configuration.

Open your Postfix config file.

sudo nano /etc/postfix/main.cf

Scroll down and look for the entries for myhostname and mydestination. Change them so they look like this.

/etc/postfix/main.cf
. . .
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
myhostname = localhost
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
. . .

This forces postfix to always use the external email server, even in a case the email recipient is under your local domain name, like myself@mydomain.com.

You can send a test email to see if it works.

echo "Test Email message body" | mail -s "Email test subject" example@example.com

Let me know in the comments if this helped. Follow me @DevAnswers or read more.

1 Star2 Stars3 Stars4 Stars5 Stars 5.00 (3 votes)

Feedback

Your email address will not be published. Required fields are marked *

We use Markdown to style comments, like on Github and Reddit.
To do a line break, type two spaces after the sentence.
You can add inline code by wrapping it in backticks: `code here`

    To do an entire block of code  
    type four spaces before the line
    and it will appear in a block like this.
    <-- four empty spaces