Our CiviCRM system has bounce processing setup. It appears to be correctly pulling the emails from the mailbox we setup. The issue is that once it marks a users profile as "On Hold", it is not automatically switching to a new Primary email. As I understood bounce processing, there is a threshold number of bounces that gets reached before marking the email as "On Hold" and switching the Primary. Am I missing a setting somewhere? Is there a way to bulk update all the "On Hold" emails to their alternative emails (when available)?
Not a simple solution, but the best I've found to this long-time annoyance. Using Searchkit, you can set up a saved search for contacts with a primary email on hold bounce, who have a second email address that is not on hold. Then use an unequal field transformation, so you'll only see the secondary email addresses that are different than the primary ones.
You can add a table which will sort these descending on the second email field, so you'll see the contacts with a viable second email on the top of the search results and with an edit in place column for Primary for the second email, so you can make the switch right on this table. Would be ideal if this happened automatically, but in the meantime, this is the least painful solution that I've found.