精华内容
下载资源
问答
  • 主要介绍了详解python读取邮件数据并下载附件的实例的相关资料,这里提供实现实例,帮助大家学习理解这部分内容,需要的朋友可以参考下
  • 主要介绍了Python实现读取邮箱中的邮件功能,可读取邮件文本及附件的功能,涉及Python针对邮件的获取、分析、保存等相关操作技巧,需要的朋友可以参考下
  • 30利用Python读取邮件

    千次阅读 2020-04-15 20:48:01
    读取keyring密码 import os os.chdir("D:\\shiyan\\OFFICE\\Email") import keyring password = keyring.get_password(...print(password) 读取邮件 对于163、126邮箱,需要提前设置一下 网址:https://config....

    读取keyring密码

    import os
    os.chdir("D:\\shiyan\\OFFICE\\Email")
    import keyring
    
    password = keyring.get_password("yagmail","zhxzhxnbc@163.com")
    print(password)
    

    读取邮件
    对于163、126邮箱,需要提前设置一下

    网址:https://config.mail.163.com/settings/imap/index.jsp?uid=xxx@163.com
    读取所有的邮件
    lmbox(IMAP服务器地址,邮箱地址,密码,是否开启SSL加密)

    import os
    os.chdir("D:\\shiyan\\OFFICE\\Email")
    from imbox import Imbox
    import keyring
    
    pwd = keyring.get_password('yagmail','zh@163.com')
    
    with Imbox('imap.163.com','zh@163.com',pwd,ssl=True) as imbox:
        all_inbox_messages = imbox.messages()
        for uid, message in all_inbox_messages:
            print(message.subject)
            print(message.body['plain'])
    

    查看不同类型的邮件
    未读邮件:imbox.message(unread = True)

    unread_inbox_messages = imbox.messages(unread = True) 
    

    红旗邮件: imbox.messages(flagged = True)

    inbox_flagged _messages = imbox.messages(flagged = True)  
    

    某发件人的邮件: imbox.messages(sent_from=“xxx@163.com”)

    inbox_messages_from = imbox.messages(sent_from="xxx@163.com")
    

    某收件人的邮件: inbox_messages_to = imbox.messages(sent_to = ‘111@qq.com’)
    按照日期进行筛选邮件(两个下划线):
    date__lt 某天前
    date__gt 某天后
    date__on 指定某一天

    inbox_messages_received_before = imbox.messages(date__lt = datetime.date(2020,1,31))
    inbox_messages_received_after = imbox.messages(date__gt = datetime.date(2020,1,31))
    inbox_messages_received_on_date = imbox.messages(date__on = datetime.date(2020,1,31))
    

    标记已读和删除邮件
    标记已读: imbox.mark_seen(uid)
    删除邮件: imbox.delete(uid)

    for uid,message in all_inbox_messages:
        if '满足某种条件的邮件':
            imbox.delete(uid)
    

    综合应用

    import keyring
    import schedule
    import time
    import yagmail
    from imbox import Imbox
    
    def send_mail():
    	pwd = keyring.get_password('yagmail','z@163.com')
    
    	with Imbox('imap.163.com','z@163.com',pwd,ssl=True) as imbox:
    	    all_inbox_messages = imbox.messages()
    	    for uid, message in all_inbox_messages:
    	        if message.subject == '每日新闻一条' and message.sent_from[0]['email'] == 'z@163.com':
    	        	#print(message.body['plain'])
    	        	yag = yagmail.SMTP(user = 'z@163.com', host = 'smtp.163.com')
    	        	contents = message.body['plain']
    	        	yag.send('5@qq.com','每日新闻一条',contents)
    	        	print('发送成功')
    	        	#代码运行此处是没有问题的
    
    schedule.every().day.at('20:17').do(send_mail)
    
    start = time.perf_counter()
    
    while True:
        schedule.run_pending()
        end = time.perf_counter()
        print('程序运行一次共用时:{:.2f}s'.format(end - start))
        time.sleep(1)
    
    展开全文
  • 读取keyring密码前提是你已经通过yagmail设置好了密码,这里我们可以直接从keyring中读取密码:import keyringpassword=keyring.get_password("yagmail","J991737441@163.com")Python读取邮件对于163、126邮箱,需要...

    读取keyring密码

    前提是你已经通过yagmail设置好了密码,这里我们可以直接从keyring中读取密码:

    import keyring

    password=keyring.get_password("yagmail","J991737441@163.com")

    Python读取邮件

    对于163、126邮箱,需要提前配置一下,访问:http://config.mail.163.com/settings/imap/index.jsp?uid=J991737441@163.com,允许第三方客户端读取内容才可以。查看所有邮件

    from imbox import Imbox

    import keyring

    password=keyring.get_password("yagmail","J991737441@163.com")

    # IMAP服务器地址,邮箱地址,密码,是否打开SSL加密

    with Imbox("imap.163.com","J991737441@163.com",password,ssl=True) as imbox:

    all_box_messages=imbox.messages()

    for uid,message in all_box_messages:

    print(message.subject)

    print(message.body['plain'])

    每个邮件可以读取的内容

    message.sent_from 发件人

    message.sent_to 收件人

    message.subject 主题

    message.date 时间

    message.body['plain'] 文本格式内容

    message.body['html'] HTML格式内容

    message.attacments 附件

    查看未读邮件,只需要设置.messages的参数即可

    unread_box_messages=imbox.messages(unread=True)

    # 红旗邮件

    red_flagged_messages=imbox.messages(flagged=True)

    # 某发件人邮件

    inbox_messages_from=imbox.messages(sent_from='J991737441@163.com')

    # 某收件人邮件

    inbox_messages_from=imbox.messages(sent_to='J991737441@163.com')

    # 根据日期筛选

    某天前 date__lt

    某天后 date__gt

    指定某一天 date__on

    inbox_messages_before=imbox.messages(date__lt=datetime.date(2020,5,19))

    在根据日期筛选的时候,使用的是datetime模块,需要导入一下,注意date__lt是两个下划线

    标记已读:imbox.mark_seen(uid),删除已读:imbox.delete(uid)

    from imbox import Imbox

    import keyring

    password=keyring.get_password("yagmail","J991737441@163.com")

    # IMAP服务器地址,邮箱地址,密码,是否打开SSL加密

    with Imbox("imap.163.com","J991737441@163.com",password,ssl=True) as imbox:

    all_box_messages=imbox.messages()

    for uid,message in all_box_messages:

    if 满足某种条件的邮件:

    imbox.delete(uid)

    展开全文
  • 读取keyring密码 ...os.chdir("D:\\python_major\\auto_office") import keyring password = keyring.get_password("yagmail0","xianl828@163.com") print(password) –> 输出结果为: 000000...

    读取keyring密码

    前提是已经通过yagmail设置好密码了

    import os
    os.chdir("D:\\python_major\\auto_office")
    import keyring
    
    password = keyring.get_password("yagmail","xianl828@163.com")
    print(password)
    

    –> 输出结果为: 00000000(当初设置的授权码)

    读取邮件

    对于163、126邮箱

    展开全文
  • 今天小编就为大家分享一篇Python读取指定日期邮件的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 之前给大家介绍使用python去发送邮件了,那有小伙伴提出疑问了,既然能...关于读取邮件:收取邮件使用POP3协议;解析邮件:需要将收取的邮件转化为email.message.Message对象,再使用email模块解析内容。读取邮件...

    之前给大家介绍使用python去发送邮件了,那有小伙伴提出疑问了,既然能发送,能否读取呢?如果可以用python实现,那将是个非常有趣的事情,于是小编也去查询了下,下面就给大家演示下,都来看看吧~以下是具体实现内容,内容非常充分,请仔细阅览。

    00a5d284f1edca87ac3f6b148115e12f.png

    关于读取邮件:

    收取邮件使用POP3协议;

    解析邮件:需要将收取的邮件转化为email.message.Message对象,再使用email模块解析内容。

    读取邮件的实例

    1、获取某封邮件的对象import poplibfrom email.parser import Parser"""POP的服务器信息"""popHost = "pop.exmail.qq.com"userAdr = "xx@xx.cn"userPwd = "xxxxx"

    """ 创建POP3对象,添加用户名和密码"""pop3Server = poplib.POP3(popHost)pop3Server.user(userAdr)pop3Server.pass_(userPwd)

    """获取邮件数量和占用空间"""messageCount, mailboxSize = pop3Server.stat

    """获取邮件请求返回状态码、每封邮件的字节大小(b'第几封邮件 此邮件字节大小')、"""response, msgNumOctets, octets = pop3Server.list

    """ 获取任意一封邮件的邮件对象【第一封邮件的编号为1,而不是0】"""msgIndex = random.randint(1,messageCount)print(msgIndex)# 获取第msgIndex封邮件的信息response, msgLines, octets = pop3Server.retr(msgIndex)# msgLines中为该邮件的每行数据,先将内容连接成字符串,再转化为email.message.Message对象msgLinesToStr = b"

    ".join(msgLines).decode("utf8", "ignore")messageObject = Parser.parsestr(msgLinesToStr)print(messageObject)

    """ 终止POP3服务"""pop3Server.quit

    2、解析邮件对象

    3、获取邮件日期msgDate = messageObject["date"]print(msgDate)

    4、获取邮件发件人实名、邮箱地址

    获取邮件实名时,名称一般是加密的,此时就需要对头文件进行解码才可获取它的实际内容from email.header import decode_headerdef decodeMsgHeader(header): """ 解码头文件 :param header: 需解码的内容 :return: """ value, charset = decode_header(header)[0] if charset: value = value.decode(charset) return value

    from email.utils import parseaddrsenderContent = messageObject["From"]# parseaddr函数返回的是一个元组(realname, emailAddress)senderRealName, senderAdr = parseaddr(senderContent) # 将加密的名称进行解码 senderRealName = decodeMsgHeader(senderRealName) print(senderRealName)print(senderAdr)

    5、获取邮件主题

    获取的邮件的主题也是加密的,此时就需要对头文件进行解码才可获取它的实际内容。msgHeader = messageObject["Subject"]# 对头文件进行解码msgHeader = decodeMsgHeader(msgHeader )print(msgHeader)

    6、获取邮件正文

    一封邮件的正文内容,可能是由几部分构成,每部分的格式不同。"""获取邮件正文内容"""msgBodyContents = if messageObject.is_multipart: # 判断邮件是否由多个部分构成 messageParts = messageObject.get_payload # 获取邮件附载部分 for messagePart in messageParts: bodyContent = decodeBody(messagePart) if bodyContent: msgBodyContents.append(bodyContent)else: bodyContent = decodeBody(messageObject) if bodyContent: messageBodyContents.append(bodyContent)print(msgBodyContents)

    def decodeBody(msgPart): """ 解码内容 :param msgPart: 邮件某部分 """ contentType = msgPart.get_content_type # 判断邮件内容的类型,text/html textContent = "" if contentType == 'text/plain' or contentType == 'text/html': content = msgPart.get_payload(decode=True) charset = msgPart.get_charset if charset is None: contentType = msgPart.get('Content-Type', '').lower position = contentType.find('charset=') if position >= 0: charset = contentType[position + 8:].strip if charset: textContent = content.decode(charset) return textContent

    以上就是关于python邮件获取内容了,如需了解更多python实用知识,点击进入云海天Python教程网。

    展开全文
  • Python3读取邮件内容

    2020-11-29 21:34:32
    登录邮箱并读取原始邮件使用imaplib库实现邮箱登录,所以需要先导入库import imaplib,然后利用imaplib库中的方法登录邮箱并读取邮件 def get_mail(email_address, password):# 这里的服务器根据需要选择server = ...
  • python 读取邮件

    千次阅读 2018-12-22 15:28:48
    #邮件数量太多,运行缓慢,因此只读取最近的邮件 #!/usr/bin/python # -*- coding: UTF-8 -*- # 文件名:read_email.py from email.parser import Parser import poplib from bs4 import BeautifulSoup from email...
  • 因需要下载邮件附件,并分析邮件的内容写到数据中。研究了下poplib的收件功能。下面部分代码有参考网上资源。# coding=utf-8import poplibimport cStringIOimport emailimport base64import datetimeimport time...
  • 首先,读取邮件要用keyring模块。 读取邮件的内容: import keyring pw=keyring.get_password('yagmail','2950896114@qq.com') #获取注册码 from imbox import Imbox #导入imbox with Imbox('smtp.qq.com','...
  • Python IMAP邮件读取

    2020-12-16 13:48:37
    #! encoding:utf8'''环境:Win7 64位 Python 2.7.5参考:...
  • 这篇文章主要介绍了详解python读取邮件数据并下载附件的实例的相关资料,这里提供实现实例,帮助大家学习理解这部分内容,需要的朋友可以参考下详解python实现读取邮件数据并下载附件的实例实现结果图:实现代码:#!...
  • pop_conn.pass_(password) #Get messages from server: # 获得邮件 messages = [pop_conn.retr(i) for i in range(1, len(pop_conn.list()[1]) + 1)] #print messages #print "------------------------------------...
  • 这篇文章将分别介绍两个很实用的收取及读取邮件的库:imbox 和 poplib,主要将讲解:“imbox收取邮件poplib收取邮件keyring存储密码之前的文章中我们也提到了,基础配置需要打开 POP3/SMTP/IMAP,针对不同邮箱有不同...
  • python 读取QQ邮件内容

    千次阅读 2019-04-09 17:47:01
    输出结果: 代码: ## -*- coding: utf-8 -*- from email.parser import Parser from email.header import decode_header from email.utils import ...# 输入邮件地址, 口令和POP3服务器地址: email = '812721863@...
  • python发送邮件和快速读取邮件

    千次阅读 2018-02-27 13:28:53
    python是一门脚本语言,他可以给我们带来很多方便,比如说发送...本人在这里也不把代码分享出来了,不太好,,,下面介绍一下怎么用python快速取出和读取邮箱中的所有文件。当邮件很多时,这个小程序就特别好用。...
  • 主要介绍了python通过imaplib模块读取gmail里邮件的方法,涉及Python操作imaplib模块操作邮件的相关技巧,需要的朋友可以参考下
  • python邮件读取(zmail)

    2020-11-28 16:42:10
    背景:业务提出需求,希望数据部门可以开发一个小工具,帮助他们能够自动化下载某一特定主题邮件的附件,研究了很多种方法,记录下使用zmail+多线程的方式收取邮件。import zmailimport queueimport threadingimport ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 32,060
精华内容 12,824
关键字:

python读取邮件

python 订阅