[GH-ISSUE #625] Don't receive "Change Email" confirmation email but DO receive "New Device" email #418

Closed
opened 2026-03-03 01:28:56 +03:00 by kerem · 2 comments
Owner

Originally created by @Skaronator on GitHub (Sep 18, 2019).
Original GitHub issue: https://github.com/dani-garcia/vaultwarden/issues/625

Hi,

I'm running 1.10.0-4c07f05b on Docker Alpine with SQLite as storage backend. I tried to change the email of my Bitwarden account and need to confirm my new email but never actually receive the email on my new address.

I've setup the email in Bitwarden correctly since I do receive emails when I log in from a new device. (Just tested it again before writing this.)

I tried different email address for both, my account and the Bitwarden sender email but nothing seems to work.

Also tried to enable debug logs but everything looks fine. The POST request to /api/accounts/email-token return with a 200 (so everything OK).

[2019-09-18 20:32:54][_][TRACE] Filled peek buf with 99 bytes.
[2019-09-18 20:32:54][_][TRACE] Peek bytes: 99/512 bytes.
[2019-09-18 20:32:54][rocket::rocket][INFO] POST /api/accounts/email-token application/json; charset=utf-8:
[2019-09-18 20:32:54][_][TRACE] Routing the request: POST /api/accounts/email-token application/json; charset=utf-8
[2019-09-18 20:32:54][_][TRACE] All matches: [Route { name: Some("post_email_token"), method: Post, base: Origin { source: None, path: "/api", query: None, segment_count: [uninitialized storage] }, uri: Origin { source: None, path: "/api/accounts/email-token", query: None, segment_count: [uninitialized storage] }, rank: -4, format: None, metadata: Metadata { path_segments: [RouteSegment { string: "api", kind: Static, name: "api", index: Some(0), _part: PhantomData }, RouteSegment { string: "accounts", kind: Static, name: "accounts", index: Some(1), _part: PhantomData }, RouteSegment { string: "email-token", kind: Static, name: "email-token", index: Some(2), _part: PhantomData }], query_segments: None, fully_dynamic_query: true } }]
[2019-09-18 20:32:54][_][INFO] Matched: POST /api/accounts/email-token (post_email_token)
[2019-09-18 20:32:54][_][TRACE] DataStream::read()
[2019-09-18 20:32:54][_][TRACE] DataStream::read()
[2019-09-18 20:32:54][_][INFO] Outcome: Success
[2019-09-18 20:32:54][hyper::header][TRACE] Headers.append_raw( "Server", [82, 111, 99, 107, 101, 116] )
[2019-09-18 20:32:54][hyper::header][TRACE] Headers.append_raw( "Feature-Policy", [97, 99, 99, 101, 108, 101, 114, 111, 109, 101, 116, 101, 114, 32, 39, 110, 111, 110, 101, 39, 59, 32, 97, 109, 98, 105, 101, 110, 116, 45, 108, 105, 103, 104, 116, 45, 115, 101, 110, 115, 111, 114, 32, 39, 110, 111, 110, 101, 39, 59, 32, 97, 117, 116, 111, 112, 108, 97, 121, 32, 39, 110, 111, 110, 101, 39, 59, 32, 99, 97, 109, 101, 114, 97, 32, 39, 110, 111, 110, 101, 39, 59, 32, 101, 110, 99, 114, 121, 112, 116, 101, 100, 45, 109, 101, 100, 105, 97, 32, 39, 110, 111, 110, 101, 39, 59, 32, 102, 117, 108, 108, 115, 99, 114, 101, 101, 110, 32, 39, 110, 111, 110, 101, 39, 59, 32, 103, 101, 111, 108, 111, 99, 97, 116, 105, 111, 110, 32, 39, 110, 111, 110, 101, 39, 59, 32, 103, 121, 114, 111, 115, 99, 111, 112, 101, 32, 39, 110, 111, 110, 101, 39, 59, 32, 109, 97, 103, 110, 101, 116, 111, 109, 101, 116, 101, 114, 32, 39, 110, 111, 110, 101, 39, 59, 32, 109, 105, 99, 114, 111, 112, 104, 111, 110, 101, 32, 39, 110, 111, 110, 101, 39, 59, 32, 109, 105, 100, 105, 32, 39, 110, 111, 110, 101, 39, 59, 32, 112, 97, 121, 109, 101, 110, 116, 32, 39, 110, 111, 110, 101, 39, 59, 32, 112, 105, 99, 116, 117, 114, 101, 45, 105, 110, 45, 112, 105, 99, 116, 117, 114, 101, 32, 39, 110, 111, 110, 101, 39, 59, 32, 115, 121, 110, 99, 45, 120, 104, 114, 32, 39, 115, 101, 108, 102, 39, 32, 104, 116, 116, 112, 115, 58, 47, 47, 104, 97, 118, 101, 105, 98, 101, 101, 110, 112, 119, 110, 101, 100, 46, 99, 111, 109, 32, 104, 116, 116, 112, 115, 58, 47, 47, 116, 119, 111, 102, 97, 99, 116, 111, 114, 97, 117, 116, 104, 46, 111, 114, 103, 59, 32, 117, 115, 98, 32, 39, 110, 111, 110, 101, 39, 59, 32, 118, 114, 32, 39, 110, 111, 110, 101, 39] )
[2019-09-18 20:32:54][hyper::header][TRACE] Headers.append_raw( "Referrer-Policy", [115, 97, 109, 101, 45, 111, 114, 105, 103, 105, 110] )
[2019-09-18 20:32:54][hyper::header][TRACE] Headers.append_raw( "X-Frame-Options", [83, 65, 77, 69, 79, 82, 73, 71, 73, 78] )
[2019-09-18 20:32:54][hyper::header][TRACE] Headers.append_raw( "X-Content-Type-Options", [110, 111, 115, 110, 105, 102, 102] )
[2019-09-18 20:32:54][hyper::header][TRACE] Headers.append_raw( "X-XSS-Protection", [49, 59, 32, 109, 111, 100, 101, 61, 98, 108, 111, 99, 107] )
[2019-09-18 20:32:54][hyper::header][TRACE] Headers.append_raw( "Content-Security-Policy", [102, 114, 97, 109, 101, 45, 97, 110, 99, 101, 115, 116, 111, 114, 115, 32, 39, 115, 101, 108, 102, 39, 32, 99, 104, 114, 111, 109, 101, 45, 101, 120, 116, 101, 110, 115, 105, 111, 110, 58, 47, 47, 110, 110, 103, 99, 101, 99, 107, 98, 97, 112, 101, 98, 102, 105, 109, 110, 108, 110, 105, 105, 105, 97, 104, 107, 97, 110, 100, 99, 108, 98, 108, 98, 32, 109, 111, 122, 45, 101, 120, 116, 101, 110, 115, 105, 111, 110, 58, 47, 47, 42, 59] )
[2019-09-18 20:32:54][hyper::header][TRACE] Headers.append_raw( "Cache-Control", [110, 111, 45, 99, 97, 99, 104, 101, 44, 32, 110, 111, 45, 115, 116, 111, 114, 101, 44, 32, 109, 97, 120, 45, 97, 103, 101, 61, 48] )
[2019-09-18 20:32:54][hyper::header][TRACE] Headers.set( "Content-Length", ContentLength(0) )
[2019-09-18 20:32:54][hyper::header][TRACE] Headers.set( "Date", Date(HttpDate(Tm { tm_sec: 54, tm_min: 32, tm_hour: 20, tm_mday: 18, tm_mon: 8, tm_year: 119, tm_wday: 3, tm_yday: 260, tm_isdst: 0, tm_utcoff: 0, tm_nsec: 212313031 })) )
[2019-09-18 20:32:54][_][INFO] Response succeeded.

Do you have any ideas?

Originally created by @Skaronator on GitHub (Sep 18, 2019). Original GitHub issue: https://github.com/dani-garcia/vaultwarden/issues/625 Hi, I'm running 1.10.0-4c07f05b on Docker Alpine with SQLite as storage backend. I tried to change the email of my Bitwarden account and need to confirm my new email but never actually receive the email on my new address. I've setup the email in Bitwarden correctly since I **do** receive emails when I log in from a new device. (Just tested it again before writing this.) I tried different email address for both, my account and the Bitwarden sender email but nothing seems to work. Also tried to enable debug logs but everything looks fine. The POST request to /api/accounts/email-token return with a 200 (so everything OK). ``` [2019-09-18 20:32:54][_][TRACE] Filled peek buf with 99 bytes. [2019-09-18 20:32:54][_][TRACE] Peek bytes: 99/512 bytes. [2019-09-18 20:32:54][rocket::rocket][INFO] POST /api/accounts/email-token application/json; charset=utf-8: [2019-09-18 20:32:54][_][TRACE] Routing the request: POST /api/accounts/email-token application/json; charset=utf-8 [2019-09-18 20:32:54][_][TRACE] All matches: [Route { name: Some("post_email_token"), method: Post, base: Origin { source: None, path: "/api", query: None, segment_count: [uninitialized storage] }, uri: Origin { source: None, path: "/api/accounts/email-token", query: None, segment_count: [uninitialized storage] }, rank: -4, format: None, metadata: Metadata { path_segments: [RouteSegment { string: "api", kind: Static, name: "api", index: Some(0), _part: PhantomData }, RouteSegment { string: "accounts", kind: Static, name: "accounts", index: Some(1), _part: PhantomData }, RouteSegment { string: "email-token", kind: Static, name: "email-token", index: Some(2), _part: PhantomData }], query_segments: None, fully_dynamic_query: true } }] [2019-09-18 20:32:54][_][INFO] Matched: POST /api/accounts/email-token (post_email_token) [2019-09-18 20:32:54][_][TRACE] DataStream::read() [2019-09-18 20:32:54][_][TRACE] DataStream::read() [2019-09-18 20:32:54][_][INFO] Outcome: Success [2019-09-18 20:32:54][hyper::header][TRACE] Headers.append_raw( "Server", [82, 111, 99, 107, 101, 116] ) [2019-09-18 20:32:54][hyper::header][TRACE] Headers.append_raw( "Feature-Policy", [97, 99, 99, 101, 108, 101, 114, 111, 109, 101, 116, 101, 114, 32, 39, 110, 111, 110, 101, 39, 59, 32, 97, 109, 98, 105, 101, 110, 116, 45, 108, 105, 103, 104, 116, 45, 115, 101, 110, 115, 111, 114, 32, 39, 110, 111, 110, 101, 39, 59, 32, 97, 117, 116, 111, 112, 108, 97, 121, 32, 39, 110, 111, 110, 101, 39, 59, 32, 99, 97, 109, 101, 114, 97, 32, 39, 110, 111, 110, 101, 39, 59, 32, 101, 110, 99, 114, 121, 112, 116, 101, 100, 45, 109, 101, 100, 105, 97, 32, 39, 110, 111, 110, 101, 39, 59, 32, 102, 117, 108, 108, 115, 99, 114, 101, 101, 110, 32, 39, 110, 111, 110, 101, 39, 59, 32, 103, 101, 111, 108, 111, 99, 97, 116, 105, 111, 110, 32, 39, 110, 111, 110, 101, 39, 59, 32, 103, 121, 114, 111, 115, 99, 111, 112, 101, 32, 39, 110, 111, 110, 101, 39, 59, 32, 109, 97, 103, 110, 101, 116, 111, 109, 101, 116, 101, 114, 32, 39, 110, 111, 110, 101, 39, 59, 32, 109, 105, 99, 114, 111, 112, 104, 111, 110, 101, 32, 39, 110, 111, 110, 101, 39, 59, 32, 109, 105, 100, 105, 32, 39, 110, 111, 110, 101, 39, 59, 32, 112, 97, 121, 109, 101, 110, 116, 32, 39, 110, 111, 110, 101, 39, 59, 32, 112, 105, 99, 116, 117, 114, 101, 45, 105, 110, 45, 112, 105, 99, 116, 117, 114, 101, 32, 39, 110, 111, 110, 101, 39, 59, 32, 115, 121, 110, 99, 45, 120, 104, 114, 32, 39, 115, 101, 108, 102, 39, 32, 104, 116, 116, 112, 115, 58, 47, 47, 104, 97, 118, 101, 105, 98, 101, 101, 110, 112, 119, 110, 101, 100, 46, 99, 111, 109, 32, 104, 116, 116, 112, 115, 58, 47, 47, 116, 119, 111, 102, 97, 99, 116, 111, 114, 97, 117, 116, 104, 46, 111, 114, 103, 59, 32, 117, 115, 98, 32, 39, 110, 111, 110, 101, 39, 59, 32, 118, 114, 32, 39, 110, 111, 110, 101, 39] ) [2019-09-18 20:32:54][hyper::header][TRACE] Headers.append_raw( "Referrer-Policy", [115, 97, 109, 101, 45, 111, 114, 105, 103, 105, 110] ) [2019-09-18 20:32:54][hyper::header][TRACE] Headers.append_raw( "X-Frame-Options", [83, 65, 77, 69, 79, 82, 73, 71, 73, 78] ) [2019-09-18 20:32:54][hyper::header][TRACE] Headers.append_raw( "X-Content-Type-Options", [110, 111, 115, 110, 105, 102, 102] ) [2019-09-18 20:32:54][hyper::header][TRACE] Headers.append_raw( "X-XSS-Protection", [49, 59, 32, 109, 111, 100, 101, 61, 98, 108, 111, 99, 107] ) [2019-09-18 20:32:54][hyper::header][TRACE] Headers.append_raw( "Content-Security-Policy", [102, 114, 97, 109, 101, 45, 97, 110, 99, 101, 115, 116, 111, 114, 115, 32, 39, 115, 101, 108, 102, 39, 32, 99, 104, 114, 111, 109, 101, 45, 101, 120, 116, 101, 110, 115, 105, 111, 110, 58, 47, 47, 110, 110, 103, 99, 101, 99, 107, 98, 97, 112, 101, 98, 102, 105, 109, 110, 108, 110, 105, 105, 105, 97, 104, 107, 97, 110, 100, 99, 108, 98, 108, 98, 32, 109, 111, 122, 45, 101, 120, 116, 101, 110, 115, 105, 111, 110, 58, 47, 47, 42, 59] ) [2019-09-18 20:32:54][hyper::header][TRACE] Headers.append_raw( "Cache-Control", [110, 111, 45, 99, 97, 99, 104, 101, 44, 32, 110, 111, 45, 115, 116, 111, 114, 101, 44, 32, 109, 97, 120, 45, 97, 103, 101, 61, 48] ) [2019-09-18 20:32:54][hyper::header][TRACE] Headers.set( "Content-Length", ContentLength(0) ) [2019-09-18 20:32:54][hyper::header][TRACE] Headers.set( "Date", Date(HttpDate(Tm { tm_sec: 54, tm_min: 32, tm_hour: 20, tm_mday: 18, tm_mon: 8, tm_year: 119, tm_wday: 3, tm_yday: 260, tm_isdst: 0, tm_utcoff: 0, tm_nsec: 212313031 })) ) [2019-09-18 20:32:54][_][INFO] Response succeeded. ``` Do you have any ideas?
kerem closed this issue 2026-03-03 01:28:56 +03:00
Author
Owner

@Ayitaka commented on GitHub (Sep 19, 2019):

According to this wiki entry, it's one of the differences between bitwarden_rs and upstream:

Changing user email

Email verification has not yet been implemented, so users just need to enter any random token to continue and the change will be applied.

<!-- gh-comment-id:533067441 --> @Ayitaka commented on GitHub (Sep 19, 2019): According to [this wiki entry](https://github.com/dani-garcia/bitwarden_rs/wiki/Differences-from-the-upstream-API-implementation), it's one of the differences between bitwarden_rs and upstream: > Changing user email > > Email verification has not yet been implemented, so users just need to enter any random token to continue and the change will be applied.
Author
Owner

@Skaronator commented on GitHub (Sep 22, 2019):

Yep thats it. Thanks @Ayitaka! The wiki is awful to search in.

<!-- gh-comment-id:533910496 --> @Skaronator commented on GitHub (Sep 22, 2019): Yep thats it. Thanks @Ayitaka! The wiki is awful to search in.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/vaultwarden#418
No description provided.