Thank for reply Illogix, but maybe my post confuses you.
public.com is not my domain. It belongs to spammer I believe. I believe it want to email to none-exist email accounts to my mail server. My mail server try to reply the error back to @public.com, but public.com has mx record 127.0.0.1. 127.0.0.1 is a loop back interface, that why my server complain "To [email protected] Msg="mail for public.com loops back to myself" .
I have a temporary solution now, which is any mails from public.com just send to a /dev/null . However I want a solution for any emails from any domain, which has mx record set to 127.0.0.1 (loop back interface), the server will ignore.
This trick is very clever, because almost all mail servers accept messages from it own localhost. For example, syslog send message out using [email protected]
Your email domain is illogix.com, set mx recored to 127.0.0.1. You try to email to [email protected] from address [email protected]. Yahoo.com try to reply the error non-exist account back to [email protected], but illogix.com has an mx record point to 127.0.0.1. It mean yahoo.com try to send a reply back to itself.