I had a user who uses Verizon's wireless broadband service report that he could not send email from his laptop. I had Outlook on his laptop configured to use sender authentication when sending email, i.e. I had "My outgoing server (SMTP) requires authentication" and "Use same settings as my incoming mail server" checked for his email account properties. Yet when Outlook attempted to send email, he would see messages similar to the following:
Task 'email@example.com - Sending' reported error (0x800CCC78) : 'Unable
to send the message. Please verify the e-mail address in your account
The server responded: 550 5.7.1 Mail from 22.214.171.124 refused - see http://www.dnsbl.us.sorbs.net/'
The IP address assigned to his laptop by the Verizon network was in a range listed on the Spam and Open Relay Blocking System (SORBS) blocklist as being a dynamically assigned address range. I would expect a fair amount of spam to come from spammers using infected home users' systems as spam distribution points with most home users having dynamically assigned IP addresses, so I wanted to keep the SORBS blocklist in place on the server, but I did need to allow the user to send email through the server.
In order to allow the user to send email via the email server, but keep the SORBS blocklist, I maintained the sender authentication on his system, but modified /etc/mail/sendmail.mc on the email server. I "uncommented" the delay_checks line in the sendmail.mc file as below:
I then regenerated the sendmail.cf file and restarted sendmail with the following commands:
m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
I was then able to send from his laptop while connected to the Verizon broadband wireless service without a problem.
The delay_checks feature delays checks of the IP address of the sender against blocklists, aka blacklists, until after sender authentication. If sender authentication succeeds the presence of the sender's IP address on a blocklist won't matter. His email will still be accepted.