python读取邮件标题_Python扫描邮件主题,并打印

import imaplib

import email

from email.header import decode_header

import datetime

if __name__ == '__main__':

username = 'XXX@XXX'

pw = 'XXXX'

imapadd = 'imap.XX.XX'

today = datetime.datetime.now().strftime('%d-%b-%Y')

conn = imaplib.IMAP4(imapadd)

conn.login(username,pw)

conn.select()

resp, item = conn.search(None, 'ON %s'%today)

print('Today`s total mail is [%s],and Subject is here:'%len(item[0].split()))

for i in range(0,len(item[0].split())):

resp,mailData = conn.fetch(item[0].split()[i],'(RFC822)')

mailText = mailData[0][1]

msg = email.message_from_bytes(mailText)

subject = msg['Subject']

subdecode = decode_header(subject)

if subdecode[0][1] == None:

print(subdecode[0][0])

else:

print(subdecode[0][0].decode(subdecode[0][1]))

conn.close()

conn.logout()

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个可以实时获取 QQ 邮箱邮件标题和正文的 Python 代码示例,用于生成微信机器人: ```python import itchat import poplib from email.parser import Parser # 登录微信账号 itchat.auto_login(hotReload=True) # 邮箱登录信息 email = 'your_qq_email@qq.com' password = 'your_email_password' pop3_server = 'pop.qq.com' # 连接到 QQ 邮箱服务器 server = poplib.POP3(pop3_server) server.user(email) server.pass_(password) # 定义一个函数,用于获取新邮件信息 def get_new_mails(): # 获取邮件总数 resp, mails, octets = server.list() total_mails = len(mails) # 循环读取每一封未读邮件 for i in range(total_mails): resp, lines, octets = server.retr(i+1) msg_content = b'\r\n'.join(lines).decode('utf-8') msg = Parser().parsestr(msg_content) # 如果邮件未读,就提取邮件信息 if 'UNSEEN' in resp.decode('utf-8'): subject = msg.get('Subject') sender = msg.get('From') date = msg.get('Date') content = '' # 如果邮件中包含文本信息,就提取出来 if msg.is_multipart(): parts = msg.get_payload() for part in parts: charset = part.get_charset() if charset is None: content += part.get_payload(decode=True).decode('utf-8', 'ignore') else: content += part.get_payload(decode=True).decode(charset, 'ignore') else: charset = msg.get_charset() if charset is None: content = msg.get_payload(decode=True).decode('utf-8', 'ignore') else: content = msg.get_payload(decode=True).decode(charset, 'ignore') # 返回新邮件信息 yield (subject, sender, date, content) # 定义一个函数,用于发送微信消息 def send_wechat_msg(msg): itchat.send(msg, toUserName='filehelper') # 每隔一定时间获取新邮件信息,并发送微信消息 while True: new_mails = get_new_mails() for mail in new_mails: msg = 'New email:\nSubject: %s\nFrom: %s\nDate: %s\nContent: %s' % mail send_wechat_msg(msg) time.sleep(300) # 每隔 5 分钟检查一次新邮件 # 退出邮箱服务器连接 server.quit() ``` 在上面的代码中,我们定义了一个 `get_new_mails` 函数,用于获取新邮件信息。这个函数会循环读取每一封未读邮件,并提取出邮件主题、发件人、日期和正文等信息。然后我们定义了一个 `send_wechat_msg` 函数,用于发送微信消息。最后,我们使用一个循环来每隔一定时间检查新邮件,并发送微信消息通知用户。这个示例代码每隔 5 分钟检查一次新邮件

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值