I was the first one awake one weekend morning and saw it as a perfect time to have a nice cup of coffee and review some server logs and ensure everything is still working in proper order. Every now and again, I’ll send test emails from my MobileMe email account to my domain account at timabbott.com. After making some slight changes, I noticed that my email was not getting through. A bit worried, I then sent an email from another account and was relieved to find that the message was delivered to my domain account immediately. The question then became: Why is my OS X Mail server not accepting mail from Apple?
Recipient address rejected: Service is unavailable;
A quick google of the above message lead me to this post on Apple’s discussion boards. For those to lazy to click through, the thread discusses the greylisting feature in OS X 6.3 server as a means to combat spam. While observing Mails behavior, I noticed that the messages I sent from MobileMe weren’t rejected, but simply delayed. What’s more is that they weren’t stored locally on the server. To provide that Mail’s spam filtering was the culprit, I temporarily turned off spam filtering. At that point all email I sent from my MobileMe account was delivered immediately. Re-enabling the feature caused my email to be delay by exactly one hour, which is was I now believe is the retry timer on Apple’s SMTP servers. Now, I don’t have a problem with this feature but I do have a concern. What if an email I want to receive is marked as spam by Mail and the sender’s server doesn’t try to deliver the message again? Lost mail is my guess. Luckily the nice folks at the Apple boards had a fix for that as well:
sudo pico /etc/postfix/main.cf
from
smtpd_recipient_restrictions = permit_sasl_authenticated permit_mynetworks reje ct_unauth_destination check_policy_service unix:private/policy permit
to
smtpd_recipient_restrictions = permit_sasl_authenticated permit_mynetworks reje ct_unauth_destination permit
So if you are running into the same issue then you basically have three options:
- Disable spam filtering (bad idea).
- Disable greylisting
- Do nothing
Personally, option three has my vote. I can live with the delay and if I’m informed by an organization that mail to my domain is getting bounced I’ll tell them that it is an anti-spam mechanism and that there server should retry.
-Tim