dani-garcia / vaultwarden

Unofficial Bitwarden compatible server written in Rust, formerly known as bitwarden_rs
GNU Affero General Public License v3.0
39.36k stars 1.91k forks source link

about email 2FA error:SMTP error: response error: error Tag at: #4992

Closed CJSen closed 2 months ago

CJSen commented 2 months ago

Vaultwarden Support String

Your environment (Generated via diagnostics page)

Config (Generated via diagnostics page)

Show Running Config **Environment settings which are overridden:** SIGNUPS_ALLOWED, INVITATIONS_ALLOWED, SHOW_PASSWORD_HINT, ADMIN_TOKEN, SMTP_HOST, SMTP_SECURITY, SMTP_PORT, SMTP_FROM, SMTP_USERNAME, SMTP_PASSWORD ```json { "_duo_akey": null, "_enable_duo": true, "_enable_email_2fa": true, "_enable_smtp": false, "_enable_yubico": true, "_icon_service_csp": "", "_icon_service_url": "", "_ip_header_enabled": true, "_max_note_size": 10000, "_smtp_img_src": "cid:", "admin_ratelimit_max_burst": 3, "admin_ratelimit_seconds": 300, "admin_session_lifetime": 20, "admin_token": "***", "allowed_iframe_ancestors": "", "attachments_folder": "data/attachments", "auth_request_purge_schedule": "30 * * * * *", "authenticator_disable_time_drift": false, "data_folder": "data", "database_conn_init": "", "database_max_conns": 10, "database_timeout": 30, "database_url": "***************", "db_connection_retries": 15, "disable_2fa_remember": false, "disable_admin_token": false, "disable_icon_download": false, "domain": "****://*********", "domain_origin": "****://*********", "domain_path": "", "domain_set": true, "duo_context_purge_schedule": "30 * * * * *", "duo_host": null, "duo_ikey": null, "duo_skey": null, "duo_use_iframe": false, "email_2fa_auto_fallback": false, "email_2fa_enforce_on_verified_invite": false, "email_attempts_limit": 3, "email_change_allowed": true, "email_expiration_time": 600, "email_token_size": 6, "emergency_access_allowed": true, "emergency_notification_reminder_schedule": "0 3 * * * *", "emergency_request_timeout_schedule": "0 7 * * * *", "enable_db_wal": true, "enable_websocket": true, "enforce_single_org_with_reset_pw_policy": false, "event_cleanup_schedule": "0 10 0 * * *", "events_days_retain": null, "experimental_client_feature_flags": "fido2-vault-credentials", "extended_logging": true, "helo_name": null, "hibp_api_key": null, "http_request_block_non_global_ips": true, "http_request_block_regex": null, "icon_blacklist_non_global_ips": true, "icon_blacklist_regex": null, "icon_cache_folder": "data/icon_cache", "icon_cache_negttl": 259200, "icon_cache_ttl": 2592000, "icon_download_timeout": 10, "icon_redirect_code": 302, "icon_service": "internal", "incomplete_2fa_schedule": "30 * * * * *", "incomplete_2fa_time_limit": 3, "increase_note_size_limit": false, "invitation_expiration_hours": 120, "invitation_org_name": "Vaultwarden", "invitations_allowed": false, "ip_header": "X-Real-IP", "job_poll_interval_ms": 30000, "log_file": null, "log_level": "debug", "log_timestamp_format": "%Y-%m-%d %H:%M:%S.%3f", "login_ratelimit_max_burst": 10, "login_ratelimit_seconds": 60, "org_attachment_limit": null, "org_creation_users": "", "org_events_enabled": false, "org_groups_enabled": false, "password_hints_allowed": true, "password_iterations": 600000, "push_enabled": false, "push_identity_uri": "https://identity.bitwarden.com", "push_installation_id": "***", "push_installation_key": "***", "push_relay_uri": "https://push.bitwarden.com", "reload_templates": false, "require_device_email": false, "rsa_key_filename": "data/rsa_key", "send_purge_schedule": "0 5 * * * *", "sendmail_command": null, "sends_allowed": true, "sends_folder": "data/sends", "show_password_hint": false, "signups_allowed": false, "signups_domains_whitelist": "", "signups_verify": false, "signups_verify_resend_limit": 6, "signups_verify_resend_time": 3600, "smtp_accept_invalid_certs": false, "smtp_accept_invalid_hostnames": false, "smtp_auth_mechanism": null, "smtp_debug": false, "smtp_embed_images": true, "smtp_explicit_tls": null, "smtp_from": "****************", "smtp_from_name": "Vaultwarden", "smtp_host": "***********", "smtp_password": "***", "smtp_port": 587, "smtp_security": "starttls", "smtp_ssl": null, "smtp_timeout": 15, "smtp_username": "****************", "templates_folder": "data/templates", "tmp_folder": "data/tmp", "trash_auto_delete_days": null, "trash_purge_schedule": "0 5 0 * * *", "use_sendmail": false, "use_syslog": false, "user_attachment_limit": null, "user_send_limit": null, "web_vault_enabled": true, "web_vault_folder": "web-vault/", "yubico_client_id": null, "yubico_secret_key": null, "yubico_server": null } ```

Vaultwarden Build Version

v1.32.0-040e2a7b

Deployment method

Official Container Image

Custom deployment method

No response

Reverse Proxy

nginx 1.27.0

Host/Server Operating System

Linux

Operating System Version

ubuntu 22.04

Clients

Browser Extension, Desktop

Client Version

No response

Steps To Reproduce

  1. Go to login page and Input password
  2. Click on 'login'
  3. error

Expected Result

I declare in advance that I used the beta version of the code to test whether it was a real issue, and this is also the issue in the official version.

  1. I have configured the SMTP server (QQ email) on the admin page

  2. Click on test, an error message appears as shown below, but the test email received the email

    image

    image

  3. Change the SMTP service provider, email sending is normal, and the software is working properly.

  4. There was no problem in using it before. So I initially think that the qq mailbox may have made some changes to the return value or other aspects, resulting in an abnormality in the code?

Actual Result

like Expected Result

Logs

[2024-09-25 22:35:21.678][request][INFO] GET /vw_static/bootstrap.bundle.js
[2024-09-25 22:35:21.679][response][INFO] (static_files) GET /vw_static/<filename> [2] => 200 OK
[2024-09-25 22:35:29.031][request][INFO] GET /alive
[2024-09-25 22:35:29.031][response][INFO] (alive) GET /alive => 200 OK
[2024-09-25 22:35:43.084][request][INFO] POST /admin/test/smtp
[2024-09-25 22:35:44.002][vaultwarden::mail][DEBUG] SMTP error: lettre::transport::smtp::Error {
    kind: Response,
    source: "error Tag at: \0\0\0\u{1a}\0\0\0\n",
}
[2024-09-25 22:35:44.002][vaultwarden::mail][ERROR] SMTP error: response error: error Tag at:

[2024-09-25 22:35:44.003][response][INFO] (test_smtp) POST /admin/test/smtp => 400 Bad Request
[2024-09-25 22:35:57.910][vaultwarden::api::core::accounts][DEBUG] Purging auth requests
[2024-09-25 22:35:57.910][vaultwarden::api::core::two_factor::duo_oidc][DEBUG] Purging Duo authentication contexts
[2024-09-25 22:35:57.910][vaultwarden::api::core::two_factor][DEBUG] Sending notifications for incomplete 2FA logins
[2024-09-25 22:35:57.911][vaultwarden::api::core::two_factor][INFO] User 461646668@qq.com did not complete a 2FA login within the configured time limit. IP: 192.168.93.124
[2024-09-25 22:35:58.919][vaultwarden::mail][DEBUG] SMTP error: lettre::transport::smtp::Error {
    kind: Response,
    source: "error Tag at: \0\0\0\u{1a}\0\0\0\n",
}
[2024-09-25 22:35:58.919][vaultwarden::mail][ERROR] SMTP error: response error: error Tag at:

[2024-09-25 22:35:58.920][vaultwarden::api::core::two_factor][ERROR] Error sending incomplete 2FA email: SMTP error: response error: error Tag at:

[2024-09-25 22:35:58.920][vaultwarden::api::core::two_factor][INFO] User 461646668@qq.com did not complete a 2FA login within the configured time limit. IP: 192.168.93.124
[2024-09-25 22:35:59.868][vaultwarden::mail][DEBUG] SMTP error: lettre::transport::smtp::Error {
    kind: Response,
    source: "error Tag at: \0\0\0\u{1a}\0\0\0\n",
}
[2024-09-25 22:35:59.868][vaultwarden::mail][ERROR] SMTP error: response error: error Tag at:

[2024-09-25 22:35:59.869][vaultwarden::api::core::two_factor][ERROR] Error sending incomplete 2FA email: SMTP error: response error: error Tag at:

[2024-09-25 22:36:29.099][request][INFO] GET /alive
[2024-09-25 22:36:29.099][response][INFO] (alive) GET /alive => 200 OK

Screenshots or Videos

No response

Additional Context

No response

BlackDex commented 2 months ago

Enable SMTP_DEBUG=true and see what it reports. I do not think we can change anything to solve this.

CJSen commented 2 months ago

Enable SMTP_DEBUG=true and see what it reports. I do not think we can change anything to solve this.

thank you answer,this is my log with SMTP_DEBUG=true. I hidden my email address.

[2024-09-25 23:51:45.296][request][INFO] POST /admin/test/smtp
[2024-09-25 23:51:45.408][lettre::transport::smtp::client::async_connection][DEBUG] << 220 newxmesmtplogicsvrsza29-0.qq.com XMail Esmtp QQ Mail Server.<CRLF>
[2024-09-25 23:51:45.408][lettre::transport::smtp::client::async_connection][DEBUG] Wrote: EHLO 805ee8897905<CRLF>
[2024-09-25 23:51:45.441][lettre::transport::smtp::client::async_connection][DEBUG] << 250-newxmesmtplogicsvrsza29-0.qq.com<CRLF>
[2024-09-25 23:51:45.441][lettre::transport::smtp::client::async_connection][DEBUG] << 250-newxmesmtplogicsvrsza29-0.qq.com<CRLF>250-PIPELINING<CRLF>
[2024-09-25 23:51:45.441][lettre::transport::smtp::client::async_connection][DEBUG] << 250-newxmesmtplogicsvrsza29-0.qq.com<CRLF>250-PIPELINING<CRLF>250-SIZE 73400320<CRLF>
[2024-09-25 23:51:45.441][lettre::transport::smtp::client::async_connection][DEBUG] << 250-newxmesmtplogicsvrsza29-0.qq.com<CRLF>250-PIPELINING<CRLF>250-SIZE 73400320<CRLF>250-STARTTLS<CRLF>
[2024-09-25 23:51:45.441][lettre::transport::smtp::client::async_connection][DEBUG] << 250-newxmesmtplogicsvrsza29-0.qq.com<CRLF>250-PIPELINING<CRLF>250-SIZE 73400320<CRLF>250-STARTTLS<CRLF>250-AUTH LOGIN PLAIN XOAUTH XOAUTH2<CRLF>
[2024-09-25 23:51:45.441][lettre::transport::smtp::client::async_connection][DEBUG] << 250-newxmesmtplogicsvrsza29-0.qq.com<CRLF>250-PIPELINING<CRLF>250-SIZE 73400320<CRLF>250-STARTTLS<CRLF>250-AUTH LOGIN PLAIN XOAUTH XOAUTH2<CRLF>250-AUTH=LOGIN<CRLF>
[2024-09-25 23:51:45.441][lettre::transport::smtp::client::async_connection][DEBUG] << 250-newxmesmtplogicsvrsza29-0.qq.com<CRLF>250-PIPELINING<CRLF>250-SIZE 73400320<CRLF>250-STARTTLS<CRLF>250-AUTH LOGIN PLAIN XOAUTH XOAUTH2<CRLF>250-AUTH=LOGIN<CRLF>250-MAILCOMPRESS<CRLF>
[2024-09-25 23:51:45.441][lettre::transport::smtp::client::async_connection][DEBUG] << 250-newxmesmtplogicsvrsza29-0.qq.com<CRLF>250-PIPELINING<CRLF>250-SIZE 73400320<CRLF>250-STARTTLS<CRLF>250-AUTH LOGIN PLAIN XOAUTH XOAUTH2<CRLF>250-AUTH=LOGIN<CRLF>250-MAILCOMPRESS<CRLF>250-SMTPUTF8<CRLF>
[2024-09-25 23:51:45.441][lettre::transport::smtp::client::async_connection][DEBUG] << 250-newxmesmtplogicsvrsza29-0.qq.com<CRLF>250-PIPELINING<CRLF>250-SIZE 73400320<CRLF>250-STARTTLS<CRLF>250-AUTH LOGIN PLAIN XOAUTH XOAUTH2<CRLF>250-AUTH=LOGIN<CRLF>250-MAILCOMPRESS<CRLF>250-SMTPUTF8<CRLF>250 8BITMIME<CRLF>
[2024-09-25 23:51:45.441][lettre::transport::smtp::client::async_connection][DEBUG] server newxmesmtplogicsvrsza29-0.qq.com with {StartTls, SmtpUtfEight, EightBitMime, Authentication(Xoauth2), Authentication(Login), Authentication(Plain)}
[2024-09-25 23:51:45.441][lettre::transport::smtp::client::async_connection][DEBUG] Wrote: STARTTLS<CRLF>
[2024-09-25 23:51:45.474][lettre::transport::smtp::client::async_connection][DEBUG] << 220 Ready to start TLS from 61.152.193.64 to newxmesmtplogicsvrsza29-0.qq.com.<CRLF>
[2024-09-25 23:51:45.534][lettre::transport::smtp::client::async_connection][DEBUG] connection encrypted
[2024-09-25 23:51:45.534][lettre::transport::smtp::client::async_connection][DEBUG] Wrote: EHLO 805ee8897905<CRLF>
[2024-09-25 23:51:45.566][lettre::transport::smtp::client::async_connection][DEBUG] << 250-newxmesmtplogicsvrsza29-0.qq.com<CRLF>
[2024-09-25 23:51:45.566][lettre::transport::smtp::client::async_connection][DEBUG] << 250-newxmesmtplogicsvrsza29-0.qq.com<CRLF>250-PIPELINING<CRLF>
[2024-09-25 23:51:45.566][lettre::transport::smtp::client::async_connection][DEBUG] << 250-newxmesmtplogicsvrsza29-0.qq.com<CRLF>250-PIPELINING<CRLF>250-SIZE 73400320<CRLF>
[2024-09-25 23:51:45.566][lettre::transport::smtp::client::async_connection][DEBUG] << 250-newxmesmtplogicsvrsza29-0.qq.com<CRLF>250-PIPELINING<CRLF>250-SIZE 73400320<CRLF>250-AUTH LOGIN PLAIN XOAUTH XOAUTH2<CRLF>
[2024-09-25 23:51:45.566][lettre::transport::smtp::client::async_connection][DEBUG] << 250-newxmesmtplogicsvrsza29-0.qq.com<CRLF>250-PIPELINING<CRLF>250-SIZE 73400320<CRLF>250-AUTH LOGIN PLAIN XOAUTH XOAUTH2<CRLF>250-AUTH=LOGIN<CRLF>
[2024-09-25 23:51:45.566][lettre::transport::smtp::client::async_connection][DEBUG] << 250-newxmesmtplogicsvrsza29-0.qq.com<CRLF>250-PIPELINING<CRLF>250-SIZE 73400320<CRLF>250-AUTH LOGIN PLAIN XOAUTH XOAUTH2<CRLF>250-AUTH=LOGIN<CRLF>250-MAILCOMPRESS<CRLF>
[2024-09-25 23:51:45.566][lettre::transport::smtp::client::async_connection][DEBUG] << 250-newxmesmtplogicsvrsza29-0.qq.com<CRLF>250-PIPELINING<CRLF>250-SIZE 73400320<CRLF>250-AUTH LOGIN PLAIN XOAUTH XOAUTH2<CRLF>250-AUTH=LOGIN<CRLF>250-MAILCOMPRESS<CRLF>250-SMTPUTF8<CRLF>
[2024-09-25 23:51:45.566][lettre::transport::smtp::client::async_connection][DEBUG] << 250-newxmesmtplogicsvrsza29-0.qq.com<CRLF>250-PIPELINING<CRLF>250-SIZE 73400320<CRLF>250-AUTH LOGIN PLAIN XOAUTH XOAUTH2<CRLF>250-AUTH=LOGIN<CRLF>250-MAILCOMPRESS<CRLF>250-SMTPUTF8<CRLF>250 8BITMIME<CRLF>
[2024-09-25 23:51:45.566][lettre::transport::smtp::client::async_connection][DEBUG] Wrote: AUTH PLAIN ADQ2MTY0NjY2OEBxcS5jb20AYmJwbW92dGNtZXJpY2FqZw==<CRLF>
[2024-09-25 23:51:45.785][lettre::transport::smtp::client::async_connection][DEBUG] << 235 Authentication successful<CRLF>
[2024-09-25 23:51:45.785][lettre::transport::smtp::client::async_connection][DEBUG] Wrote: MAIL FROM:<461****68@qq.com><CRLF>
[2024-09-25 23:51:45.876][lettre::transport::smtp::client::async_connection][DEBUG] << 250 OK<CRLF>
[2024-09-25 23:51:45.876][lettre::transport::smtp::client::async_connection][DEBUG] Wrote: RCPT TO:<461****68@qq.com><CRLF>
[2024-09-25 23:51:45.990][lettre::transport::smtp::client::async_connection][DEBUG] << 250 OK<CRLF>
[2024-09-25 23:51:45.990][lettre::transport::smtp::client::async_connection][DEBUG] Wrote: DATA<CRLF>
[2024-09-25 23:51:46.026][lettre::transport::smtp::client::async_connection][DEBUG] << 354 End data with <CR><LF>.<CR><LF>.<CRLF>
[2024-09-25 23:51:46.026][lettre::transport::smtp::client::async_connection][DEBUG] Wrote: Message-ID: <6bc9641d-07c8-4732-9c48-31d55e6936eb@qq.com><CRLF>To: 461****68@qq.com<CRLF>From: Vaultwarden <461****68@qq.com><CRLF>Subject: Vaultwarden SMTP Test<CRLF>MIME-Version: 1.0<CRLF>Date: Wed, 25 Sep 2024 15:51:45 +0000<CRLF>Content-Type: multipart/alternative;<CRLF> boundary="gVy8S3wHKDxw2mvZ7yK9bswUQmZc2mgmS2KM1BzG"<CRLF><CRLF>--gVy8S3wHKDxw2mvZ7yK9bswUQmZc2mgmS2KM1BzG<CRLF>Content-Type: text/plain; charset=utf-8<CRLF>Content-Transfer-Encoding: 7bit<CRLF><CRLF>This is a test email to verify the SMTP configuration for http://localhost.<CRLF><CRLF>When you can read this email it is probably configured correctly.<CRLF><CRLF>===<CRLF>Github: https://github.com/dani-garcia/vaultwarden<CRLF>--gVy8S3wHKDxw2mvZ7yK9bswUQmZc2mgmS2KM1BzG<CRLF>Content-Type: multipart/related;<CRLF> boundary="D4af71LCwC61NDYbKe1kS0qP8YHkuUO1hGPXcehj"<CRLF><CRLF>--D4af71LCwC61NDYbKe1kS0qP8YHkuUO1hGPXcehj<CRLF>Content-Type: text/html; charset=utf-8<CRLF>Content-Transfer-Encoding: quoted-printable<CRLF><CRLF><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.=<CRLF>w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><CRLF><html xmlns=3D"http://www.w3.org/1999/xhtml" xmlns=3D"http://www.w3.org/199=<CRLF>9/xhtml" style=3D"-webkit-font-smoothing: antialiased; -webkit-text-size-ad=<CRLF>just: none; box-sizing: border-box; color: #333; font-family: 'Helvetica Ne=<CRLF>ue', Helvetica, Arial, sans-serif; font-size: 16px; line-height: 25px; marg=<CRLF>in: 0;"><CRLF>   <head><CRLF>      <meta name=3D"viewport" content=3D"width=3Ddevice-width" /><CRLF>      <meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3DUTF=<CRLF>-8" /><CRLF>      <title>Vaultwarden</title><CRLF>   </head><CRLF>   <body style=3D"-webkit-font-smoothing: antialiased; -webkit-text-size-ad=<CRLF>just: none; height: 100%; line-height: 25px; width: 100% !important;" bgcol=<CRLF>or=3D"#f6f6f6"><CRLF>      <style type=3D"text/css"><CRLF>         body {<CRLF>         margin: 0;<CRLF>         font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;<CRLF>         box-sizing: border-box;<CRLF>         font-size: 16px;<CRLF>         color: #333;<CRLF>         line-height: 25px;<CRLF>         -webkit-font-smoothing: antialiased;<CRLF>         -webkit-text-size-adjust: none;<CRLF>         }<CRLF>         body * {<CRLF>         margin: 0;<CRLF>         font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;<CRLF>         box-sizing: border-box;<CRLF>         font-size: 16px;<CRLF>         color: #333;<CRLF>         line-height: 25px;<CRLF>         -webkit-font-smoothing: antialiased;<CRLF>         -webkit-text-size-adjust: none;<CRLF>         }<CRLF>         img {<CRLF>         max-width: 100%;<CRLF>         border: none;<CRLF>         }<CRLF>         body {<CRLF>         -webkit-font-smoothing: antialiased;<CRLF>         -webkit-text-size-adjust: none;<CRLF>         width: 100% !important;<CRLF>         height: 100%;<CRLF>         line-height: 25px;<CRLF>         }<CRLF>         body {<CRLF>         background-color: #f6f6f6;<CRLF>         }<CRLF>         @media only screen and (max-width: 600px) {<CRLF>         body {<CRLF>         padding: 0 !important;<CRLF>         }<CRLF>         .container {<CRLF>         padding: 0 !important;<CRLF>         width: 100% !important;<CRLF>         }<CRLF>         .container-table {<CRLF>         padding: 0 !important;<CRLF>         width: 100% !important;<CRLF>         }<CRLF>         .content {<CRLF>         padding: 0 0 10px 0 !important;<CRLF>         }<CRLF>         .content-wrap {<CRLF>         padding: 10px !important;<CRLF>         }<CRLF>         .invoice {<CRLF>         width: 100% !important;<CRLF>         }<CRLF>         .main {<CRLF>         border-right: none !important;<CRLF>         border-left: none !important;<CRLF>         border-radius: 0 !important;<CRLF>         }<CRLF>         .logo {<CRLF>         padding-top: 10px !important;<CRLF>         }<CRLF>         .footer {<CRLF>         margin-top: 10px !important;<CRLF>         }<CRLF>         .indented {<CRLF>         padding-left: 10px;<CRLF>         }<CRLF>         }<CRLF>      </style><CRLF>      <table class=3D"body-wrap" cellpadding=3D"0" cellspacing=3D"0" style=<CRLF>=3D"-webkit-font-smoothing: antialiased; -webkit-text-size-adjust: none; bo=<CRLF>x-sizing: border-box; color: #333; font-family: 'Helvetica Neue', Helvetica=<CRLF>, Arial, sans-serif; font-size: 16px; line-height: 25px; margin: 0; width: =<CRLF>100%;" bgcolor=3D"#f6f6f6"><CRLF>         <tr style=3D"-webkit-font-smoothing: antialiased; -webkit-text-siz=<CRLF>e-adjust: none; box-sizing: border-box; color: #333; font-family: 'Helvetic=<CRLF>a Neue', Helvetica, Arial, sans-serif; font-size: 16px; line-height: 25px; =<CRLF>margin: 0;"><CRLF>            <td valign=3D"middle" class=3D"aligncenter middle logo" style=<CRLF>=3D"-webkit-font-smoothing: antialiased; -webkit-text-size-adjust: none; bo=<CRLF>x-sizing: border-box; color: #333; font-family: 'Helvetica Neue', Helvetica=<CRLF>, Arial, sans-serif; font-size: 16px; line-height: 25px; margin: 0; padding=<CRLF>: 20px 0 10px;" align=3D"center"><CRLF>                <img src=3D"cid:logo-gray.png" alt=3D"Vaultwarden" width=3D=<CRLF>"190" height=3D"39" style=3D"-webkit-font-smoothing: antialiased; -webkit-t=<CRLF>ext-size-adjust: none; border: none; box-sizing: border-box; color: #333; f=<CRLF>ont-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 16px=<CRLF>; line-height: 25px; margin: 0; max-width: 100%;" /><CRLF>            </td><CRLF>         </tr><CRLF>         <tr style=3D"-webkit-font-smoothing: antialiased; -webkit-text-siz=<CRLF>e-adjust: none; box-sizing: border-box; color: #333; font-family: 'Helvetic=<CRLF>a Neue', Helvetica, Arial, sans-serif; font-size: 16px; line-height: 25px; =<CRLF>margin: 0;"><CRLF>            <td class=3D"container" align=3D"center" style=3D"-webkit-font-=<CRLF>smoothing: antialiased; -webkit-text-size-adjust: none; box-sizing: border-=<CRLF>box; clear: both !important; color: #333; display: block !important; font-f=<CRLF>amily: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 16px; lin=<CRLF>e-height: 25px; margin: 0 auto; max-width: 600px !important; width: 600px;"=<CRLF> valign=3D"top"><CRLF>               <table cellpadding=3D"0" cellspacing=3D"0" class=3D"containe=<CRLF>r-table" style=3D"-webkit-font-smoothing: antialiased; -webkit-text-size-ad=<CRLF>just: none; box-sizing: border-box; clear: both !important; color: #333; di=<CRLF>splay: block !important; font-family: 'Helvetica Neue', Helvetica, Arial, s=<CRLF>ans-serif; font-size: 16px; line-height: 25px; margin: 0 auto; max-width: 6=<CRLF>00px !important; width: max-content;"><CRLF>                  <tr style=3D"-webkit-font-smoothing: antialiased; -webkit=<CRLF>-text-size-adjust: none; box-sizing: border-box; color: #333; font-family: =<CRLF>'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 16px; line-heigh=<CRLF>t: 25px; margin: 0;"><CRLF>                     <td class=3D"content" align=3D"center" style=3D"-webki=<CRLF>t-font-smoothing: antialiased; -webkit-text-size-adjust: none; box-sizing: =<CRLF>border-box; color: #333; display: block; font-family: 'Helvetica Neue', Hel=<CRLF>vetica, Arial, sans-serif; font-size: 0; line-height: 0; margin: 0 auto; ma=<CRLF>x-width: 600px; padding-bottom: 20px;" valign=3D"top"><CRLF>                        <table class=3D"main" width=3D"100%" cellpadding=3D=<CRLF>"0" cellspacing=3D"0" style=3D"font-family: 'Helvetica Neue', Helvetica, Ar=<CRLF>ial, sans-serif; box-sizing: border-box; font-size: 16px; color: #333; line=<CRLF>-height: 25px; -webkit-font-smoothing: antialiased; margin: 0; -webkit-text=<CRLF>-size-adjust: none; border: 1px solid #e9e9e9; border-radius: 3px;" bgcolor=<CRLF>=3D"white"><CRLF>                           <tr style=3D"margin: 0; font-family: 'Helvetica =<CRLF>Neue', Helvetica, Arial, sans-serif; box-sizing: border-box; font-size: 16p=<CRLF>x; color: #333; line-height: 25px; -webkit-font-smoothing: antialiased; -we=<CRLF>bkit-text-size-adjust: none;"><CRLF>                              <td class=3D"content-wrap" style=3D"font-fami=<CRLF>ly: 'Helvetica Neue', Helvetica, Arial, sans-serif; box-sizing: border-box;=<CRLF> font-size: 16px; color: #333; line-height: 25px; margin: 0; -webkit-font-s=<CRLF>moothing: antialiased; padding: 20px; -webkit-text-size-adjust: none;" vali=<CRLF>gn=3D"top"><CRLF><table width=3D"100%" cellpadding=3D"0" cellspacing=3D"0" style=3D"margin: =<CRLF>0; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; box-sizing:=<CRLF> border-box; font-size: 16px; color: #333; line-height: 25px; -webkit-font-=<CRLF>smoothing: antialiased; -webkit-text-size-adjust: none;"><CRLF>   <tr style=3D"margin: 0; font-family: 'Helvetica Neue', Helvetica, Arial,=<CRLF> sans-serif; box-sizing: border-box; font-size: 16px; color: #333; line-hei=<CRLF>ght: 25px; -webkit-font-smoothing: antialiased; -webkit-text-size-adjust: n=<CRLF>one;"><CRLF>      <td class=3D"content-block" style=3D"font-family: 'Helvetica Neue', H=<CRLF>elvetica, Arial, sans-serif; box-sizing: border-box; font-size: 16px; color=<CRLF>: #333; line-height: 25px; margin: 0; -webkit-font-smoothing: antialiased; =<CRLF>padding: 0 0 10px; -webkit-text-size-adjust: none; text-align: center;" val=<CRLF>ign=3D"top" align=3D"center"><CRLF>         This is a test email to verify the SMTP configuration for <a href=<CRLF>=3D"http://localhost">http://localhost</a>.<CRLF>      </td><CRLF>   </tr><CRLF>   <tr style=3D"margin: 0; font-family: 'Helvetica Neue', Helvetica, Arial,=<CRLF> sans-serif; box-sizing: border-box; font-size: 16px; color: #333; line-hei=<CRLF>ght: 25px; -webkit-font-smoothing: antialiased; -webkit-text-size-adjust: n=<CRLF>one;"><CRLF>      <td class=3D"content-block last" style=3D"font-family: 'Helvetica Neu=<CRLF>e', Helvetica, Arial, sans-serif; box-sizing: border-box; font-size: 16px; =<CRLF>color: #333; line-height: 25px; margin: 0; -webkit-font-smoothing: antialia=<CRLF>sed; padding: 0; -webkit-text-size-adjust: none; text-align: center;" valig=<CRLF>n=3D"top" align=3D"center"><CRLF>         When you can read this email it is probably configured correctly.<CRLF>      </td><CRLF>   </tr><CRLF></table><CRLF>                           </td><CRLF>                        </tr><CRLF>                        </table><CRLF>                     </td><CRLF>                  </tr><CRLF>               </table><CRLF><CRLF>               <table class=3D"footer" cellpadding=3D"0" cellspacing=3D"0" =<CRLF>width=3D"100%" style=3D"-webkit-font-smoothing: antialiased; -webkit-text-s=<CRLF>ize-adjust: none; box-sizing: border-box; clear: both; color: #999; font-fa=<CRLF>mily: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 12px; line=<CRLF>-height: 20px; margin: 0; width: 100%;"><CRLF>                  <tr style=3D"-webkit-font-smoothing: antialiased; -webkit=<CRLF>-text-size-adjust: none; box-sizing: border-box; color: #333; font-family: =<CRLF>'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 16px; line-heigh=<CRLF>t: 25px; margin: 0;"><CRLF>                     <td class=3D"aligncenter social-icons" align=3D"center=<CRLF>" style=3D"-webkit-font-smoothing: antialiased; -webkit-text-size-adjust: n=<CRLF>one; box-sizing: border-box; color: #999; font-family: 'Helvetica Neue', He=<CRLF>lvetica, Arial, sans-serif; font-size: 12px; line-height: 20px; margin: 0; =<CRLF>padding: 5px 0 20px 0;" valign=3D"top"><CRLF>                        <table cellpadding=3D"0" cellspacing=3D"0" style=3D=<CRLF>"-webkit-font-smoothing: antialiased; -webkit-text-size-adjust: none; box-s=<CRLF>izing: border-box; color: #333; font-family: 'Helvetica Neue', Helvetica, A=<CRLF>rial, sans-serif; font-size: 16px; line-height: 25px; margin: 0 auto;"><CRLF>                           <tr style=3D"-webkit-font-smoothing: antialiased=<CRLF>; -webkit-text-size-adjust: none; box-sizing: border-box; color: #333; font=<CRLF>-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 16px; l=<CRLF>ine-height: 25px; margin: 0;"><CRLF>                                 <td style=3D"-webkit-font-smoothing: antia=<CRLF>liased; -webkit-text-size-adjust: none; box-sizing: border-box; color: #999=<CRLF>; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 1=<CRLF>2px; line-height: 20px; margin: 0; padding: 0 10px;" valign=3D"top"><a href=<CRLF>=3D"https://github.com/dani-garcia/vaultwarden" target=3D"_blank" style=3D"=<CRLF>-webkit-font-smoothing: antialiased; -webkit-text-size-adjust: none; box-si=<CRLF>zing: border-box; color: #999; font-family: 'Helvetica Neue', Helvetica, Ar=<CRLF>ial, sans-serif; font-size: 12px; line-height: 20px; margin: 0; text-decora=<CRLF>tion: underline;"><img src=3D"cid:mail-github.png" alt=3D"GitHub" width=3D"=<CRLF>30" height=3D"30" style=3D"-webkit-font-smoothing: antialiased; -webkit-tex=<CRLF>t-size-adjust: none; border: none; box-sizing: border-box; color: #333; fon=<CRLF>t-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 16px; =<CRLF>line-height: 25px; margin: 0; max-width: 100%;" /></a></td><CRLF>                           </tr><CRLF>                        </table><CRLF>                     </td><CRLF>                  </tr><CRLF>               </table><CRLF><CRLF>            </td><CRLF>         </tr><CRLF>      </table><CRLF>   </body><CRLF></html><CRLF>--D4af71LCwC61NDYbKe1kS0qP8YHkuUO1hGPXcehj<CRLF>Content-ID: <logo-gray.png><CRLF>Content-Disposition: inline<CRLF>Content-Type: image/png<CRLF>Content-Transfer-Encoding: base64<CRLF><CRLF>iVBORw0KGgoAAAANSUhEUgAAAL4AAAAnCAQAAAAbFDqdAAAJLUlEQVR42u2bBXCjuQ6A/3KXmXn3<CRLF>mJnxO2ZmZliGY2bmZWZmZubNMjMzl9tr4jejSTX2S+610zb3KNKirDj+v8iy7DrevxZe5go8GnCA<CRLF>M/C4kMZ4EZaoUJ2mxJNMBmlczAwCLOYcTpBDWWJ5g7pEIUVKeA7DSvpjMAQwlg5hMSYiMyAqvEAf<CRLF>zqSnA/wof3DQsQzjFLrTlCiw4hS+xYTou3g0c20EMHSIwi8moQHPUo9OGFU/8+nEcXzczXxS6MRc<CRLF>/FZ7P2rzNKcRhVdU4Sknu6fzDbKscjr7MBzmPPlfbb4g1ZkBrxUZflSo48CfgLZwCr9wlvX/Xg78<CRLF>M4sEPyq8zLd0IRejmkNFwvsmcoyABb8H3xZ39UNNHhG9nf9EWkkytrIUS28ay46+THjf+8L4jihm<CRLF>+PdiRNf/R8KvisFwdnHBP10xrtWInkZ434HqsUFfdWEUfmGn+Ev00S3Uo1atU4tQ71Kkq8dz9MaI<CRLF>DuRl6hJR+MTTm8F8zf8U/KYW7tokc0IzeitCvZ9R7yzKUdVaJ96NMPw7xbLofwt+HMsw5LAJwwt4<CRLF>dNO04iPUezwBjXZP5slmsjFsIDHC8Af9L8IvyQAMr+HRn20kAkb1dFzfKvypbfcQx1pGIbOBEZTJ<CRLF>86UEd/AJ/RnDUNrzjLaIcCuvip6P2ngwaGvEX8DnfDLFsp1XgxpPJRpSC/dZGtLQDQMa0JBS2CX1<CRLF>bTzCPf+8OaQ8DZEKhjLcxVPcQQJ2L/fxJDdREo8q4eBThqt5nNup59opq/2W5hae4iEt23mdLOnq<CRLF>K0owDcOlxLJHo/tT3I6a6Kw4RiJnYphPKT4QWzaSpviJVIyjx3gM7YPhQevbls0XtD0eDj5l+EU+<CRLF>dFdL8QqGI8Ra/bwnLU/ZqMVyrvRTmTasxaiu4krc17bB4w1SpDU370PkTKbra47TitIufAm3n0lR<CRLF>NhM5BTetf0QS35OmvSznEjyPS0lRUwbfEYfHD9rNFlz48/RjaYdHDJ9ZoNO5Vh6xIyZE/dxM4eE/<CRLF>rv248OvJ3xdZ/SwWyyDL8jyGvcQgs0dGMoef+IhunMSQQiNs+D/wBoYs5jCWiYid8ziKIZV+fENb<CRLF>1mH4jCwbPuVYIB49+Yi27JOQ0FaBP5DxGBbTjl8YK3P4JI1kSEGgE6mBuHMBRvUS60HqEVD7VeQl<CRLF>olG4lvrkkMkwWvE8H3MYIzq3CPBvYAqrg5aTTAlqMh7rJVrtPfoGcjiJJh76Yuih/3uT+miVxx4M<CRLF>vzjwfWQykmpYK6K885a8ZEIMH2HcyJdw20Ad8urBGQI6FoWPnyzuVf8zOYahg8cpzMWI3mC95Wo9<CRLF>QPvJsr6vM2InMdrV5UGrjzMRC1BeW2/GiOaSTOHgi/A0JnTB5Tf7IEROXtuyEMNtimq/9hoifIVh<CRLF>IW7KmkMcts89Yr3Wsc234XMafgLO/Gsk9K6z4Bu+dHr4AsNGjwMazZejjbyrmPejg2GN+n5u+Z6D<CRLF>0aiMJWQrrq+pXfzwpfxM09w8A8NDgrQ9Ojb8VA4Pnxckpl3417i+dJK1wbW9acMXVstdD5Zi+M6B<CRLF>f4rtwcMY0j1OYU6YyK9rHR2juc+o2sdsl4VEfhxX8SZf04keDFb4DSIAvxRZeXFJFXLJoTxXYdgd<CRLF>zPLNJQGEA1+B6gJxhwP/qIaPvYp0c21c58AfL4mtgqMjJc8rfHLcfrkGgxGoBLRGUGGWQuuC+2MW<CRLF>v1v/86Cd84mhKQcwjuYPf2kh4IswLa8m40UMk/GI5UDeWsUYDF+g3pzBl8zioLV2ufBX4rnCNu1B<CRLF>hdMc+MswYXWqBX+n2wNXYzB2tfONg/RVTTwnSJLKZocOuYXj+bFd7fALRnUfy5hZoMhfV2j4b2OY<CRLF>LaDHYnhd/tUVSYwkkILma2L5llxJjrPpw/d8yIAQ+EtC4O/X51WhogN/K4ZNTAnRHyz4a8LC1zpf<CRLF>lx6dltkK8T48rv2rMx9mYrTOr6/pariu/v7w8HnPgn+00PAvkHcuRRmy8FMdWSSRGJYEdCJvq0QL<CRLF>DLm0sSqhJwsAf4vsgVzbKQ78Re5+yJJ84MuuUG8paBnmQDL0x6OtzoRJjlcNiabgDpendMdQQktR<CRLF>48JnCEb0N7Q6wBQOvtYzt3IfhjnkbXnSCVCbDyQI7ATS3hn76wWAPwtDT9fK9TZ84TSwsPDjNON+<CRLF>Z7vwkCJJpST7NX0863h9Lbbg2Q4vh2TS10Pgt8eIbiYuaGlbAPgPBC3biXEfhN6y7fkDQ0v1Honh<CRLF>RSZIIhIL8TL+x5yxdysA/B8xbHXfkxY2fHnm45SmUPD1VJMUamAXiXq+ybfWLriM5VOLdOeOwx06<CRLF>P14kiao0J82B777feB7mYXphCgD/SvVpzx08wfecis4JJrDcnrmy+PaSZNZAbWm6IRPhdDIKAP9S<CRLF>DIYnUQvJbHLgV+CkjKoQ8OU8X8/lh9qfMV30gfVkhQF2N5qweiLn+ZSUgbh60IVPdXloV0/kCz+R<CRLF>IxhHLw36ViPAcXLxYZ87+gX9Rss2FsMBLkRmOw+xl035wddZlMYzyNrBWUzjELkC3z1mH8x5yByj<CRLF>Ds8ylvLkB1+jwNjLIKWIx+MGjWP5LXoXHnHIJKNl6E+yeFE8VfmGm1z4ch8u1/GZz3X5wHcSmAtf<CRLF>i733cU6hxPYHauFcUuQ5trFCQmQOlfmzAPArsiiYFzZLIKVyKZtt+LK3zsZI2wEtMCoVFL5OfQKs<CRLF>Yg+GhXZ5qW1HSEBqa/axkkC4n+FyOzPIFI8ZPCK9TMSHj5qWz1UMk8hMYRGvkEQsM8TnVvK2MT7R<CRLF>oe4qxJzgodRqfkX3rTSW0u5Ux/c5sV3v2E5lgMwfP2t5VwroIYxBj+Dw0YfwVwZasVzwHqYXp+Dx<CRLF>Gz4aOn2fxa9sktEdYz0duUXPdh7Dx2DcHs/Hh8++vdA5GI9ZfMgkDJXRjRU5GNG2klr8zOC9YLb3<CRLF>0z3c7QXi8UKkED6hItO/CEIiEXwlCRTp3s54PM5ETjk4G+PoFXhciOFiPIYW272dqPAUfgIEyOAd<CRLF>RmOYRgM8VmkOC0jJVVcWoEm0JlVa/MV3Yy16V7Onk+MXMwOjOpcFzl3NvtG7mpG4pRzAhNfoLeXI<CRLF>38/vmA/6IZG9nx/9ZsoK+mqM698MYlH0myl/33eyLmIGARZxdvQ7WX+jRPbbiFH5B89xafrW0x/z<CRLF>AAAAAElFTkSuQmCC<CRLF>--D4af71LCwC61NDYbKe1kS0qP8YHkuUO1hGPXcehj<CRLF>Content-ID: <mail-github.png><CRLF>Content-Disposition: inline<CRLF>Content-Type: image/png<CRLF>Content-Transfer-Encoding: base64<CRLF><CRLF>iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAMAAAANIilAAAABm1BMVEUAAACZmZmZmZmZmZmZmZmZ<CRLF>mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ<CRLF>mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ<CRLF>mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ<CRLF>mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ<CRLF>mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ<CRLF>mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ<CRLF>mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZll/aOX<CRLF>AAAAiHRSTlMAAQIDBAUICQsODxAREhMUFRYXGRocHR8gISMkJSYnKistLi8wMTI0NTY4Ojs8PT4/<CRLF>QEFER0pLTU5PUFFUVVldXl9hYmNkZmlrbG1zdHd5fn+Ag4aIiYuMjo+RlJWXmJudnqKjpaqrra+w<CRLF>tLW5vsDFx8zOz9HT1dfZ2tze4uTm6e3v8fX3+fv9ycTzRAAAArpJREFUeNqt1WO/7TgYhvEr7T62<CRLF>bdu2bdu2tY32/tjzW0jadKGZmfN/HecBzZmxK04+ePO1r+/rmwcnV4w1BIsW30vlSe8tiQgx5kqi<CRLF>JpIrY8qn3lJLt9pPj86qrbMRLU3/qRI/p9HCUQU4QjPmuoJcMzSIXyjQ85gC81LBnht8NxROV/Ec<CRLF>V1H4q81U3Zo5+7+rhQ+7Zq5W3TSc6LdqvgNMu6cmbk8G+KaaHxHWedUdpWrcayl5d+nQtk2bth26<CRLF>9C6R3kyk6rDqzlI3TtZK6uaNI2fcfOpWyLJxflfWNEpMk3WruLFmUWKmCltfl7OcEsvkXAGIEzkX<CRLF>KHFezlAELFXmISXuK7MEeCCnaxglhnXJuQcm9dYqs1hOahgn5xMBPskZyyo5WwiwRc4KTssZRYDR<CRLF>ck7xSA5B5DzgraxOgnTJesN3WR8I8lHWV/pl/SbIH1l9DMoaIkgia5BuOYYARk4XX+SMo5wfVI/l<CRLF>rCPAWjmPOCvnFgGuyTnDZjnpMEpFQ3I2MkWZPZTaqsxkolTOwHBKdPTKSSJ4qswTQ1vmkTKPgY3K<CRLF>uWNow9xTzgZgmPLej6alsR+Uk3YA3FbFw8u/VZGeHUFTI8+nyrtJxWRJSoYxbGqPqp6vH2vwmHGb<CRLF>XqpgIlXPJenjKIbxS9bn4bk9v6rRM2omqCKZwcRJsnaTs1uNxlN3URX9wzm+L2sHzcKqWW+JO1Vx<CRLF>j5hzNuY9j1XQGePMto1v+fSFbxJ9OzkazzEVzCbnoCquAUsXMY+DI/DslO9Asw42l4qZRPi2yXMf<CRLF>n3klSckGMi0nvzIUxK9V8ePIqpkTJs2fgGe7cl7HNIgeK7Oj9Z0fRzRzQs5OaBElJ2lhQY8XYJk9<CRLF>qutZSEvDrjQvSHtVc3UY7Ux8poq9ePap4vkkyky8mkgr8ayS0msTCREvW0LBkuUd/GX/AMEwIhi5<CRLF>wxyfAAAAAElFTkSuQmCC<CRLF>--D4af71LCwC61NDYbKe1kS0qP8YHkuUO1hGPXcehj--<CRLF>--gVy8S3wHKDxw2mvZ7yK9bswUQmZc2mgmS2KM1BzG--<CRLF>
[2024-09-25 23:51:46.026][lettre::transport::smtp::client::async_connection][DEBUG] Wrote: <CRLF>.<CRLF>
[2024-09-25 23:51:46.398][lettre::transport::smtp::client::async_connection][DEBUG] << 250 OK: queued as.<CRLF>
[2024-09-25 23:51:46.398][lettre::transport::smtp::client::async_connection][DEBUG] Wrote: QUIT<CRLF>
[2024-09-25 23:51:46.432][lettre::transport::smtp::client::async_connection][DEBUG] <<

[2024-09-25 23:51:46.432][lettre::transport::smtp::client::async_connection][DEBUG] Wrote: QUIT<CRLF>
[2024-09-25 23:51:46.432][lettre::transport::smtp::client::async_connection][DEBUG] << 221 Bye.<CRLF>
[2024-09-25 23:51:46.433][vaultwarden::mail][DEBUG] SMTP error: lettre::transport::smtp::Error {
    kind: Response,
    source: "error Tag at: \0\0\0\u{1a}\0\0\0\n",
}
[2024-09-25 23:51:46.433][vaultwarden::mail][ERROR] SMTP error: response error: error Tag at:

[2024-09-25 23:51:46.434][response][INFO] (test_smtp) POST /admin/test/smtp => 400 Bad Request
[2024-09-25 23:51:48.042][request][INFO] POST /identity/connect/token
[2024-09-25 23:51:48.042][response][INFO] (login) POST /identity/connect/token => 400 Bad Request
[2024-09-25 23:51:48.421][vaultwarden::api::core::two_factor::duo_oidc][DEBUG] Purging Duo authentication contexts
[2024-09-25 23:51:48.421][vaultwarden::api::core::two_factor][DEBUG] Sending notifications for incomplete 2FA logins
[2024-09-25 23:51:48.421][vaultwarden::api::core::accounts][DEBUG] Purging auth requests
[2024-09-25 23:51:48.450][request][INFO] GET /alive
[2024-09-25 23:51:48.451][response][INFO] (alive) GET /alive => 200 OK
[2024-09-25 23:51:48.649][request][INFO] POST /identity/connect/token
[2024-09-25 23:51:48.650][response][INFO] (login) POST /identity/connect/token => 400 Bad Request
[2024-09-25 23:51:48.664][request][INFO] POST /identity/connect/token
[2024-09-25 23:51:48.664][response][INFO] (login) POST /identity/connect/token => 400 Bad Request
[2024-09-25 23:51:48.716][request][INFO] POST /identity/connect/token
[2024-09-25 23:51:48.717][response][INFO] (login) POST /identity/connect/token => 400 Bad Request
[2024-09-25 23:51:54.059][request][INFO] POST /admin/config
[NOTICE] You are using a plain text `ADMIN_TOKEN` which is insecure.
Please generate a secure Argon2 PHC string by using `vaultwarden hash` or `argon2`.
See: https://github.com/dani-garcia/vaultwarden/wiki/Enabling-admin-page#secure-the-admin_token

[2024-09-25 23:51:54.059][response][INFO] (post_config) POST /admin/config => 200 OK
[2024-09-25 23:52:48.423][vaultwarden::api::core::two_factor][DEBUG] Sending notifications for incomplete 2FA logins
[2024-09-25 23:52:48.423][vaultwarden::api::core::two_factor::duo_oidc][DEBUG] Purging Duo authentication contexts
[2024-09-25 23:52:48.423][vaultwarden::api::core::accounts][DEBUG] Purging auth requests
[2024-09-25 23:52:48.522][request][INFO] GET /alive
[2024-09-25 23:52:48.523][response][INFO] (alive) GET /alive => 200 OK
BlackDex commented 2 months ago

If anything, then we need to check with lettre i think @paolobarbolini ?

BlackDex commented 2 months ago

Looking at it again, i see the following

Internet access: false Which means there is no internet access, not sure how your instance is able to send out an email at all this way. It might also be something which is between you and the mail server which is causing an issue.

Do you maybe have changed the email templates?

CJSen commented 2 months ago

Looking at it again, i see the following

Internet access: false Which means there is no internet access, not sure how your instance is able to send out an email at all this way. It might also be something which is between you and the mail server which is causing an issue.

Do you maybe have changed the email templates?

Sorry bro,I don't know why it shows no network,but it does have a network. As I said, although it reported an error when I used the QQ mailbox, my destination mailbox did receive the relevant email. When I switch to another mailbox service(such as @163.com mailbox), there is no error. Everything is fine.

LTI-Lennox commented 2 months ago

I have the same problem

Your environment (Generated via diagnostics page)

Config (Generated via diagnostics page)

Show Running Config **Environment settings which are overridden:** ADMIN_TOKEN ```json { "_duo_akey": null, "_enable_duo": false, "_enable_email_2fa": true, "_enable_smtp": true, "_enable_yubico": true, "_icon_service_csp": "", "_icon_service_url": "", "_ip_header_enabled": true, "_max_note_size": 10000, "_smtp_img_src": "cid:", "admin_ratelimit_max_burst": 3, "admin_ratelimit_seconds": 300, "admin_session_lifetime": 20, "admin_token": "***", "allowed_iframe_ancestors": "", "attachments_folder": "data/attachments", "auth_request_purge_schedule": "30 * * * * *", "authenticator_disable_time_drift": false, "data_folder": "data", "database_conn_init": "", "database_max_conns": 10, "database_timeout": 30, "database_url": "********://**************************************************************************************************", "db_connection_retries": 15, "disable_2fa_remember": false, "disable_admin_token": false, "disable_icon_download": false, "domain": "*****://***************************", "domain_origin": "*****://***************************", "domain_path": "", "domain_set": true, "duo_context_purge_schedule": "30 * * * * *", "duo_host": null, "duo_ikey": null, "duo_skey": null, "duo_use_iframe": false, "email_2fa_auto_fallback": false, "email_2fa_enforce_on_verified_invite": false, "email_attempts_limit": 3, "email_change_allowed": true, "email_expiration_time": 600, "email_token_size": 6, "emergency_access_allowed": true, "emergency_notification_reminder_schedule": "0 3 * * * *", "emergency_request_timeout_schedule": "0 7 * * * *", "enable_db_wal": true, "enable_websocket": true, "event_cleanup_schedule": "0 10 0 * * *", "events_days_retain": null, "experimental_client_feature_flags": "fido2-vault-credentials", "extended_logging": true, "helo_name": "*********", "hibp_api_key": null, "http_request_block_non_global_ips": true, "http_request_block_regex": null, "icon_blacklist_non_global_ips": true, "icon_blacklist_regex": null, "icon_cache_folder": "data/icon_cache", "icon_cache_negttl": 259200, "icon_cache_ttl": 2592000, "icon_download_timeout": 10, "icon_redirect_code": 302, "icon_service": "internal", "incomplete_2fa_schedule": "30 * * * * *", "incomplete_2fa_time_limit": 3, "increase_note_size_limit": false, "invitation_expiration_hours": 120, "invitation_org_name": "Vaultwarden", "invitations_allowed": true, "ip_header": "X-Real-IP", "job_poll_interval_ms": 30000, "log_file": null, "log_level": "info", "log_timestamp_format": "%Y-%m-%d %H:%M:%S.%3f", "login_ratelimit_max_burst": 10, "login_ratelimit_seconds": 60, "org_attachment_limit": null, "org_creation_users": "***", "org_events_enabled": false, "org_groups_enabled": false, "password_hints_allowed": true, "password_iterations": 100000, "push_enabled": false, "push_identity_uri": "https://identity.bitwarden.com", "push_installation_id": "***", "push_installation_key": "***", "push_relay_uri": "https://push.bitwarden.com", "reload_templates": false, "require_device_email": false, "rsa_key_filename": "data/rsa_key", "send_purge_schedule": "0 5 * * * *", "sendmail_command": null, "sends_allowed": true, "sends_folder": "data/sends", "show_password_hint": true, "signups_allowed": true, "signups_domains_whitelist": "", "signups_verify": true, "signups_verify_resend_limit": 6, "signups_verify_resend_time": 3600, "smtp_accept_invalid_certs": false, "smtp_accept_invalid_hostnames": false, "smtp_auth_mechanism": "Login", "smtp_debug": false, "smtp_embed_images": true, "smtp_explicit_tls": null, "smtp_from": "****************", "smtp_from_name": "Lennox", "smtp_host": "***********", "smtp_password": "***", "smtp_port": 587, "smtp_security": "force_tls", "smtp_ssl": null, "smtp_timeout": 15, "smtp_username": "****************", "templates_folder": "data/templates", "tmp_folder": "data/tmp", "trash_auto_delete_days": null, "trash_purge_schedule": "0 5 0 * * *", "use_sendmail": false, "use_syslog": false, "user_attachment_limit": null, "user_send_limit": null, "web_vault_enabled": true, "web_vault_folder": "web-vault/", "yubico_client_id": null, "yubico_secret_key": null, "yubico_server": null } ```

Logs

2024-09-26 22:27:42.051272+08:002024-09-26T22:27:42.051272335+08:00
2024-09-26 22:27:42.052163+08:00[2024-09-26 22:27:42.052][vaultwarden::api::core::two_factor][ERROR] Error sending incomplete 2FA email: SMTP error: response error: error Tag at: 
2024-09-26 22:27:42.052201+08:002024-09-26T22:27:42.052201428+08:00
2024-09-26 22:27:46.764779+08:00[2024-09-26 22:27:46.764][request][INFO] GET /admin
2024-09-26 22:27:46.766450+08:00[2024-09-26 22:27:46.766][response][INFO] (admin_page) GET /admin/ => 200 OK
2024-09-26 22:27:49.371166+08:00[2024-09-26 22:27:49.371][request][INFO] POST /admin/config
2024-09-26 22:27:49.371303+08:00[NOTICE] You are using a plain text `ADMIN_TOKEN` which is insecure.
2024-09-26 22:27:49.371338+08:00Please generate a secure Argon2 PHC string by using `vaultwarden hash` or `argon2`.
2024-09-26 22:27:49.371362+08:00See: https://github.com/dani-garcia/vaultwarden/wiki/Enabling-admin-page#secure-the-admin_token
2024-09-26 22:27:49.371379+08:002024-09-26T22:27:49.371379562+08:00
2024-09-26 22:27:49.371456+08:00[2024-09-26 22:27:49.371][response][INFO] (post_config) POST /admin/config => 200 OK
2024-09-26 22:27:50.505078+08:00[2024-09-26 22:27:50.504][request][INFO] GET /admin
2024-09-26 22:27:50.506459+08:00[2024-09-26 22:27:50.506][response][INFO] (admin_page) GET /admin/ => 200 OK
2024-09-26 22:27:51.921317+08:00[2024-09-26 22:27:51.921][request][INFO] GET /admin/diagnostics
2024-09-26 22:27:53.667678+08:00[2024-09-26 22:27:53.667][response][INFO] (diagnostics) GET /admin/diagnostics => 200 OK
2024-09-26 22:27:57.468110+08:00[2024-09-26 22:27:57.467][request][INFO] GET /admin/diagnostics/config
2024-09-26 22:27:57.468200+08:00[2024-09-26 22:27:57.468][response][INFO] (get_diagnostics_config) GET /admin/diagnostics/config => 200 OK
2024-09-26 22:28:07.749402+08:00[2024-09-26 22:28:07.749][request][INFO] GET /admin
2024-09-26 22:28:07.751238+08:00[2024-09-26 22:28:07.751][response][INFO] (admin_page) GET /admin/ => 200 OK
2024-09-26 22:28:41.083031+08:00[2024-09-26 22:28:41.082][vaultwarden::api::core::two_factor][INFO] User ********************@outlook.com did not complete a 2FA login within the configured time limit. IP: ***********
2024-09-26 22:28:41.148543+08:00[2024-09-26 22:28:41.148][vaultwarden::mail][ERROR] SMTP error: Connection error: Connection error: error:0A00010B:SSL routines:ssl3_get_record:wrong version number:../ssl/record/ssl3_record.c:354:
2024-09-26 22:28:41.149330+08:00[2024-09-26 22:28:41.149][vaultwarden::api::core::two_factor][ERROR] Error sending incomplete 2FA email: SMTP error: Connection error: Connection error: error:0A00010B:SSL routines:ssl3_get_record:wrong version number:../ssl/record/ssl3_record.c:354:
2024-09-26 22:28:41.149602+08:00[2024-09-26 22:28:41.149][vaultwarden::api::core::two_factor][INFO] User ************@outlook.com did not complete a 2FA login within the configured time limit. IP: **************************
2024-09-26 22:28:42.027247+08:00[2024-09-26 22:28:42.026][vaultwarden::mail][ERROR] SMTP error: response error: error Tag at: 
2024-09-26 22:28:42.027338+08:002024-09-26T22:28:42.027338615+08:00
2024-09-26 22:28:42.028019+08:00[2024-09-26 22:28:42.027][vaultwarden::api::core::two_factor][ERROR] Error sending incomplete 2FA email: SMTP error: response error: error Tag at: 
2024-09-26 22:28:42.028048+08:002024-09-26T22:28:42.028048199+08:00

Screenshots

image

CJSen commented 2 months ago

@LTI-Lennox Hey bro, is your smtp server also QQ mailbox?

LTI-Lennox commented 2 months ago

@LTI-Lennox Hey bro, is your smtp server also QQ mailbox? yes, my mailbox has exploded image

CJSen commented 2 months ago

@LTI-Lennox A touch of the same, me too. A temporary solution:

  1. enter the admin background, in the "SMTP Email Settings" will be closed smtp
  2. If you can't log in to your bitwarden account, you can also disable 2FA for the corresponding account in "Users" on the admin page.
  3. Before the above operation, please remember to backup your password data! image
BlackDex commented 2 months ago

I Would say to report this to qq actually. This seems an issue with the implementation of there SMTP server. It's a bad idea to add exceptions for specific errors like this into our code.

You could try to add a custom mail-proxy in between maybe? But good chance it also might generate errors. Since this is really something coming from the remote mail server, and not something which is a specific bug on the Vaultwarden side, I'm going to move this to a discussion.