Context: A developer no longer get an email indicating the status of the build starting 2 weeks ago, although he's in the email notification list of that build config and the config had many builds finished during the 2 weeks. The overview page shows that the builds succeed. But sometimes, the page briefly shows an error message saying that an email send failed because the email
someInvalidEmail@example.com is not valid (did not manage to take a screenshot of the error message before it disappeared). After I as devops engineer received the developer's ticket, I found no error log relating email failure in the build logs, but I did find the error buried deep in the server log of the machine on which the build runs, which shows: "...
Caused by: javax.mail.SendFailedException: Invalid Addresses;
nested exception is:
com.sun.mail.smtp.SMTPAddressFailedException: 550 5.1.1 <
someInvalidEmail@example.com>: Recipient address rejected: User unknown in local recipient table
"
This email "
someInvalidEmail@example.com" belongs to a exited employee, and the email was already removed from SMTP server, but our QB admin did not remove this person from the QB email notification list (since it's not an expected routine for QB admin).
Problem: the dev has sharp eyes to notice the disappearance of new emails, which should notify failures only when that exists. It's also hard for devops to debug, since build overview and build logs don't show any related errors, and server logs should be mostly for the status of the machine instead of for specific build. In short, it's very hard for any user to catch email notification failure.
Scope: an outdated email silently disable multiple build configs' email notices, which is fatal to many dev teams since they don't get error reports.
Proposed/potential solution(s): don't fail to send mail to all users just because one user is invalid.