我使用imap-tools
来访问我的邮箱.
我的问题是,我试图访问某人发送的邮箱,该人的邮箱包含ø
等特殊字符,我无法正确编码这些字符,因为from_
接受字符串作为输入,所以我什么也没有得到.
import imap_tools
with imap_tools.MailBox('imap.gmx.net').login(email, password, 'INBOX') as mailbox:
for msg in mailbox.fetch(imap_tools.AND(from_ = 'beskeder@mød.dk')):
print('Found')
我缩短了我的代码.当在我的邮箱中找到beskeder@mød.dk
发送的邮箱时,我预计我的程序将打印Found
.发现其他没有特殊字符的邮箱.
错误消息:
Traceback (most recent call last):
File "/Users/user/Desktop/test.py", line 4, in <module>
for msg in mailbox.fetch(imap_tools.AND(from_ = 'beskeder@mød.dk')):
File "/Users/user/Library/Python/3.9/lib/python/site-packages/imap_tools/mailbox.py", line 130, in fetch
nums = tuple((reversed if reverse else iter)(self.numbers(criteria, charset)))[limit_range]
File "/Users/user/Library/Python/3.9/lib/python/site-packages/imap_tools/mailbox.py", line 67, in numbers
encoded_criteria = criteria if type(criteria) is bytes else str(criteria).encode(charset)
UnicodeEncode错误: 'ascii' codec can't encode character '\xf8' in position 17: ordinal not in range(128)
我试图添加'beskeder@hottemøder.dk'.encode('ascii', 'ignore')
,但也不起作用.
错误:
Type错误: "from_" expected str value, "<class 'int'>" received
and when I convert it to str() nothing happens.