Question

Postfix stuck in an unstoppable email loop to itself?

I have an issue I can’t figure out, and that is why postfix is constantly emailing itself, like it is stuck in an unstoppable mail loop?

I can see from the email log that the email is bouncing, because of an unknown user:

Jan 27 02:35:17 mydomain postfix/local.... to=<inquiry@mydomain.com>, relay=local, delay=0.01, delays=0/0/0/0, dsn=5.1.1, status=bounced (unknown user: "inquiry")

But the email exist and the email is used for sending out emails via a contact form on the website, and the email is hosted at Office 365.

I’ve figured out that there might be an issue with the website domain name and the email domain name being the same (externally set up at Office 365), so is there anyone who has experienced the same issue and how to correct it?

Is there anything in my /etc/postfix/main.cf file that should be different to prevent this?

smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
relayhost = [smtp.office365.com]:587
myhostname = mydomain.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = ipv4
Show comments

Submit an answer


This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

Sign In or Sign Up to Answer

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Accepted Answer

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.

myhostname = localhost
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.

Please also male sure that $mydomain is equal to localdomain and it can be checked with postconf -d | grep mydomain, otherwise you can set the variable with mydomain = localdomain.

I figured out that if the recipient is an email with the same domain name inquiry@mydomain.com as the website itself www.mydomain.com, postfix starts to constantly emailing itself and it get stuck in an unstoppable email loop.

So to prevent this, how can I set up postfix to always use "postfix/smtp" instead of "postfix/local", which clearly is causing the email bounce loop??

@richardp

When it comes to e-mail, there’s two files localdomains and remotedomains (both in /etc).

When an e-mail is sent out, these two files are checked. If the domain is in localdomains, the mail gets routed locally – if the domain is in remotedomains, the mail is routed off the server.

Since you’re using an external mail server, I would remove your domain from the local to the remote file. You shouldn’t need to restart any services as these files are checked each time and e-mail is sent.

Try DigitalOcean for free

Click below to sign up and get $200 of credit to try our products over 60 days!

Sign up

Get our biweekly newsletter

Sign up for Infrastructure as a Newsletter.

Hollie's Hub for Good

Working on improving health and education, reducing inequality, and spurring economic growth? We'd like to help.

Become a contributor

Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.

Welcome to the developer cloud

DigitalOcean makes it simple to launch in the cloud and scale up as you grow — whether you're running one virtual machine or ten thousand.

Learn more
DigitalOcean Cloud Control Panel