设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
查看: 11018|回复: 3
打印 上一主题 下一主题

老师看了你的公众号读取邮件但是报错麻烦您帮我看下哈

[复制链接]

1

主题

0

好友

11

积分

新手上路

Rank: 1

跳转到指定楼层
楼主
发表于 2021-3-22 15:08:32 |只看该作者 |倒序浏览
from imbox import Imbox
import keyring as ke

sender = '2110158540@qq.com'
password = ke.get_password('yagmail', sender)
with Imbox('smtp.qq.com', sender, password) as imbox:
    all_msg = imbox.messages(unread=True)
    for uid, message in all_msg:  # 遍历邮件
        print(message.attachments)
        print('uid', uid)
        print('主题', message.subject)
        # print('文本格式', message.body['plain'])
        print('发件人:', message.sent_from)
        print('收件人:', message.sent_to)
        print('时间:', message.date)
        print('成功')
#以下是报错
Traceback (most recent call last):
  File "C:/Users/huangyong/PycharmProjects/pythonProject/模块功能/2.py", line 6, in <module>
    with Imbox('smtp.qq.com', sender, password) as imbox:
  File "D:\Anaconda\lib\site-packages\imbox\imbox.py", line 35, in __init__
    self.connection = self.server.connect(username, password)
  File "D:\Anaconda\lib\site-packages\imbox\imap.py", line 33, in connect
    self.server.login(username, password)
  File "D:\Anaconda\lib\imaplib.py", line 601, in login
    typ, dat = self._simple_command('LOGIN', user, self._quote(password))
  File "D:\Anaconda\lib\imaplib.py", line 1197, in _quote
    arg = arg.replace('\\', '\\\\')
AttributeError: 'NoneType' object has no attribute 'replace'

进程已结束,退出代码为 1

641817b495749a961a386289448976a.png (67.3 KB, 下载次数: 774)

这个是报错

这个是报错

8ee55901fab0cba53e2515839ca60b3.png (65.17 KB, 下载次数: 763)

这个是代码

这个是代码

回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

沙发
发表于 2021-3-22 23:45:58 |只看该作者
输出 password 看看是不是取到值了

keyring.get_password 的使用前提是在 yegmail 里注册过邮件和密码
  1. yagmail.register('邮箱' '密码')
复制代码
这里不是一定要用这个方式发送邮件,你可以在公众号里搜索一下 发邮件, 有多种方式
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

1

主题

0

好友

11

积分

新手上路

Rank: 1

板凳
发表于 2021-3-23 16:18:50 |只看该作者
本帖最后由 huang123 于 2021-3-23 16:44 编辑
crossin先生 发表于 2021-3-22 23:45
输出 password 看看是不是取到值了

keyring.get_password 的使用前提是在 yegmail 里注册过邮件和密码这里 ...

老师我前面用你说的注册了把密码和账号都填了,但是又有了新的报错
imaplib.error: command CLOSE illegal in state AUTH, only allowed in states SELECTED
这是哪里的问题呀?
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

地板
发表于 2021-3-23 23:40:15 |只看该作者
huang123 发表于 2021-3-23 16:18
老师我前面用你说的注册了把密码和账号都填了,但是又有了新的报错
imaplib.error: command CLOSE illegal ...

网易邮箱的问题
参见:https://blog.csdn.net/jony_online/article/details/108638571
(往好处想,说明应该是连上邮箱了)

也可以换qq邮箱试下
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-11-22 01:47 , Processed in 0.016915 second(s), 25 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部