I will add to this topic ALL info in my posses if something is missed please ask, not vote for close the topic.

I AM on CentOs 6.8 with RedHat Exim 4.72 I AM using CSF Firewall also who set a CronJob for do auto updates. When an update of CSF is available an email with the update Cron info is sent to the root address but this generate all time a Delivery Status Notification.

Not only CSF do this also if other app do a Cron and there are issue or need send alert to root user this generate Delivery Status Notification.

Seems like the system are unable to send email to the root user. The email report this:

This message was created automatically by mail delivery software.

A message that you sent could not be delivered to one or more of its recipients. This is a permanent error. The following address(es) failed:


The Exim Log says: ** root@: mail domain "" is syntactically invalid

In etc/aliases I ser

root: myemailaddress@domain.ext

that saved and newaliases done but this is not working the issue persist. I have also tried .forward file inside root folder, nothing the issue persist.

I cannot understand why this is happening.

The SSH command: echo test | mail -v -s "test message" root generate also Delivery Status Notification

[root@domain etc]# echo test | mail -v -s "test message" root
Loading lookup modules from /usr/lib64/exim/4.72-8.el6/lookups
Loaded 0 lookup modules
  <= root@domain.ext U=root P=local S=458
[root@domain etc]# Loading lookup modules from /usr/lib64/exim/4.72-8.el6/lookups
Loaded 0 lookup modules
delivering 1bO9gE-0006iU-2t
  ** root@: mail domain "" is syntactically invalid
Loading lookup modules from /usr/lib64/exim/4.72-8.el6/lookups
Loaded 0 lookup modules

What can be the issue, how I can resolve?


It it literally trying to email root@ with no domain which is obviously invalid (thus the error domain "" is syntactically invalid). There are several steps exim4 should be taking in order to get from your invalid email address to a valid one.

First, exim4 checks to see if you should be allowed to submit an unqualified email. From the documentation,

Unqualified addresses are accepted by default only for locally-generated messages. Qualification is also applied to addresses in header lines such as From: and To: for locally-generated messages, unless the -bnq command line option is used.

Since you are using mail locally (you are running mail on the server exim4 is running on, right?), this ought to be fine. (Otherwise you'd need to refer to recipient_unqualified_hosts to make sure your host is authorized to send mails with unqualified recipients.)

Second, since root is the recipient of the email, exim4 will check qualify_recipient to see what domain should be added. If a domain is set here, then exim4 will add that to the email address. Otherwise...

Next, exim4 tries qualify_domain to rewrite both sender and recipient addresses. If a domain is set here, then exim4 will add that to the email address. Otherwise...

Finally, exim4 uses primary_domain to rewrite unqualified emails.

  • Well, great, this solve my issue. – PeopleInside Jul 16 '16 at 8:00
  • My hosting and ISP was unable to solve this also the Technician of my control panel. Incredible! Also in CentOs no help because now I can understand... is relative to Exim. Thank you, this will help many user and help to maybe fix an issue in the Control panel. Maybe. – PeopleInside Jul 16 '16 at 8:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.