[PM-37651] Handle SocketException in admin login when mail server DNS fails#7654
Open
singhvishalkr wants to merge 1 commit into
Open
[PM-37651] Handle SocketException in admin login when mail server DNS fails#7654singhvishalkr wants to merge 1 commit into
singhvishalkr wants to merge 1 commit into
Conversation
When the SMTP server hostname cannot be resolved, PasswordlessSignInAsync throws a SocketException from MailKit. Previously this propagated unhandled, causing a confusing 404 error page. Now the controller catches SocketException, logs the error for debugging, and redirects to the login page with a clear message asking the user to check their mail server configuration. Co-authored-by: Cursor <cursoragent@cursor.com>
Collaborator
|
Thank you for your contribution! We've added this to our internal tracking system for review. Details on our contribution process can be found here: https://contributing.bitwarden.com/contributing/pull-requests/community-pr-process. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🎟️ Tracking
Fixes #6792
📔 Objective
After a server migration, the mail server hostname in my self-hosted Bitwarden changed. When I tried to access the admin panel at
/admin/, entering my email resulted in a redirect to/login/with a 404 error instead of any useful feedback.Looking at the logs, a
SocketExceptionwith "Name does not resolve" was being thrown from MailKit when it tried to connect to the non-existent SMTP host. This exception propagated all the way up fromPasswordlessSignInAsyncthroughLoginController.Index, eventually hitting the error handler in an unexpected way.The fix wraps the passwordless sign-in call in a try-catch for
SocketException, logs the error for debugging, and redirects back to the login page with a clear message: "There was a problem sending the login email. Please check your mail server configuration."This way, admins with misconfigured mail servers get actionable feedback instead of a cryptic 404.