我在 Linux Mint 21.2 上使用 Thunderbird 处理工作邮件。我们有一个用于接收邮件的 IMAP 服务器和用于发送邮件的 SMTP。登录 IMAP 工作正常,我收到并可以阅读我的所有电子邮件。但是,当我尝试发送电子邮件时,我收到Login to server name.domain with username myusername failed
,其中包含“输入新密码”、“取消”或“重试”选项。但是,当我单击“输入新密码”时,对话框很快关闭并再次弹出,我根本无法输入新密码。当然,当我点击“重试”时也是一样。
当我点击取消时,我会看到一个新对话框Send Message Error: Sending of the message failed. Unable to authenticate to Outgoing server (SMTP) name.domain. Please check the password and verify the 'Authentication method' in 'Account Settings | Outgoing server (SMTP)'
。
因此,我检查了身份验证方法,即 Kerberos/GSSAPI,它与我的组织设置 Thunderbird 的说明一致(如果重要的话,连接安全性是 STARTTLS,这也与说明一致)。
当我转到保存的密码时,我有 imap 提供程序和 TbSync 的密码 - 没有保存的 SMTP 密码。我尝试删除现有的两个,并且在登录/同步 TbSync 时必须再次输入它们。但是,尝试发送电子邮件时仍然存在相同的错误。我从未被提示输入 SMTP 密码。
我有什么办法可以解决这个问题吗?还是听起来像是服务器端问题?
这是正常的 – Thunderbird 根本不应该保存或提示输入 Kerberos 密码。它期望操作系统已经具有可用的 Kerberos 凭据。
确保 SMTP 服务器的主机名正确。Kerberos 依赖于应用程序了解其连接到的服务器名称(甚至比 TLS 更了解),否则应用程序可能会获取错误的票证或根本无法获取票证。
(查看
klist
到目前为止已获得哪些门票。)确保您连接到适当的端口(通常是 465 或 587,而不是25)。
尝试清除“用户名”设置,让服务器从 Kerberos 票证中猜测它。
设置后,从终端内运行 Thunderbird
KRB5_TRACE=/dev/stderr
。查看尝试发送消息时输出的内容。测试其他软件;例如,安装 GSASL 工具并尝试使用它通过 Kerberos 身份验证连接到 SMTP 服务器: