首页 > 解决方案 > 从电子邮件帐户获取邮件(密码包含特殊字符)

问题描述

我正在尝试从电子邮件帐户中提取邮件,当我的密码包含特殊字符时无法登录。

import imaplib
username = 'test@test.com'
password = "test!002"
imap_server = 'imap.test.com'
mail = imaplib.IMAP4_SSL(imap_server)
mail.login(username, password)

输出:

[AUTHENTICATIONFAILED] 无效凭据(失败)'连接 b 中的异常'[AUTHENTICATIONFAILED] 无效凭据(失败)

如果我更改不包含特殊字符的密码,则相同的代码可以工作。谁能告诉我如何使用包含特殊字符的密码登录 imap。

标签: pythonimaplib

解决方案


我不确定这是否会对您有所帮助,但我查看了文档并找到了这个。

IMAP4.authenticate 在 3.5 版中更改:字符串用户名和密码现在编码为 utf-8,而不是仅限于 ASCII。

您可以尝试对密码进行编码,也许用户名也可以以防万一,然后重试?

欲了解更多信息,请阅读:

IMAP4.authenticate(机制,authobject)


推荐阅读