Problem when you send a message to a Yahoo user from some Apache servers
While investigating a bad reputation/spam problem, I discovered a contributing Yahoo bug: when certain cPanel servers (or others? not sure exact reason) send an email to a Yahoo address, Yahoo's server generates unusual traffic, and then identifies it's own unusual traffic, adding the sender's IP address to their own blacklist.
Yahoo might notify you of repeated failed attempts with a reason something like this:
421 4.7.0 [TSS04] Messages from 100.99.98.97 temporarily deferred due to user complaints - 18.104.22.168; see https://help.yahoo.com/kb/post
The linked help page says, "This error indicates Yahoo is seeing unusual traffic from your IP address [courtesy of Yahoo] and/or that emails from your mail server are generating complaints from Yahoo Mail users."
Possible temporary fix
As a workaround, I am planning to modify our Exim configuration by changing
hosts_max_try_hardlimit to 1 (the default is 50).
If you suspect you're having this problem, I suggest ensuring DKIM is set up, and then placing the above Exim fix under the
dkim_remote_smtp transport sections as well.
After changes, restart Exim.
(To make these changes, look for an "Exim Configuration Manager" tool in WHM or cPanel. The file is located at /etc/exim.conf, but note that in ftp, you'll need root access to edit it.)
hosts_max_try_hardlimit = 1
Once you make this change, remove yourself from Yahoo's blacklist (or, at least try to by following instructions found here).
Better fix: notify Yahoo!, if you can find a way
I thought I could file a bug report with Yahoo, but it seems that Yahoo does not want to hear from anyone using their Mail product.
Even when I found two (?) feedback forums dedicated to "yahoo!mail" at https://yahoo.uservoice.com/forums/923365 and https://yahoo.uservoice.com/forums/600772, I was unable to sign in with Yahoo, because "OpenID authentication provider for yahoo is currently unavailable."
Ultimate solution: close your "yahoo! mail" accounts
It's time for consumers to drop Yahoo Mail, because there's some question about whether anyone's home there.
Gmail is an obvious alternative, but there are many more. E.g.: https://www.fastmail.com/
Once your new email address is ready, go back into your yahoo!mail account, navigate to Settings >> More Settings >> Vacation response >> Turn on vacation response, and indicate your new email address. You'll want to set the end date to a year or more.