python收取邮件(腾讯企业邮箱)

记录下我用python登入腾讯企业邮箱收取邮件

一、要用python收取邮件先要会3个类

  imaplib  用来收取邮件

    imaplib 里面我们注意几个方法:

      login  使用明文密码识别客户端。该密码将被引用。

      select 选择一个邮箱。返回的数据是邮箱中的邮件计数 (EXISTS响应)。默认邮箱‘INBOX‘。如果 设置了只读标志,则不允许对邮箱进行修改。

      search 搜索邮箱以查找匹配的邮件

  BeautifulSoup 用来解析 text/html 和 txet/plain 类型

  email 用来解析邮件

    email 里面的方法:

      message_from_string 吧邮件转换成字符串

      walk 该walk()方法是一个通用的生成器,可用于以深度优先的遍历顺序迭代消息对象树的所有部分和子部分。您通常将其walk()用作for循环中的迭代器; 每次迭代都返回下一个子部分。

      get_content_type  返回邮件的内容类型

      get_payload  返回当前的有效载荷,这将是一个列表 Message

二、撸代码

from imaplib import IMAP4_SSL
from smtplib import SMTP_SSL
from bs4 import BeautifulSoup
import email

class AutoEmail:

    def __init__(self):
        # 收件人
        self.receiver = None
        # 发件人
        self.sender = "邮箱账号"
        self.host = ‘%s.exmail.qq.com‘
        self.password = ‘授权码‘

    def ReceiverEmail(self):     # 连接腾讯企业邮箱的服务器
        email_server = IMAP4_SSL(host=self.host % ‘imap‘)
     # 登入邮箱
        email_server.login(user=self.sender, password=self.password)
     # 选取一个邮箱 设置是否是只读
        inbox = email_server.select(‘INBOX‘, readonly=True)
     # 查找邮件 ALL 是所以邮件
        status, emaillist = email_server.search(None, ‘ALL‘)
        emailist = emaillist[0].split()
     # 选取第几封邮件
        last = emailist[len(emailist) - 8]
     # 获取消息 返回元组 状态和消息主体
        status, emaildata = email_server.fetch(last, ‘(RFC822)‘)
     # 转换成Message对象 去解析
        messages = email.message_from_string(emaildata[0][1].decode(‘utf-8‘))
        # print(messages)
        import base64
        for data in messages.walk():
            # print(data.get_content_type())
            if data.get_content_type() == ‘text/plain‘:
                # print(data.get_payload())

         charset = data.get_content_charset()
         data = data.get_payload(decode=True).decode(charset)         print(data)                  soup = BeautifulSoup(base64.b64decode(data.get_payload()), ‘lxml‘).text 

         print(soup) 
       elif data.get_content_type() == ‘application/octet-stream‘: 

         import re

         if data.get(‘Content-Disposition‘, None):           Content_Disposition = data[‘Content-Disposition‘]           filename = re.search(‘filename="(.*)"$‘, Content_Disposition).group(1)               if filename.startswith(‘=‘):             filename_encode = re.match(‘=\?(.*)\?B‘, filename).group(1)             filename_base = re.search(‘B\?(.*)\?=$‘, filename).group(1)             filename_base64 = base64.b64decode(filename_base)              filename_decode = filename_base64.decode(filename_encode)             with open(filename_decode, ‘wb‘) as file_base:               file_base.write(base64.b64decode(data.get_payload()))

if __name__ == ‘__main__‘:  autoemail = AutoEmail()  autoemail.ReceiverEmail()

  算了不写了,直接看的懂就行,太难调格式了,没有道编辑方便

原文地址:https://www.cnblogs.com/Xmz-selfi/p/11326545.html

时间: 2024-10-12 05:06:54

python收取邮件(腾讯企业邮箱)的相关文章

微信时代,"邮"你选择 腾讯企业邮箱推新玩法

近日,腾讯企业邮箱在广州.北京.南京三地举办<微信时代,“邮”你选择>企业邮箱新方向客户见面会,同时也正式宣布将打通微信.“拥抱”移动办公,领航国内办公工具移动之“变”. 据了解,腾讯企业邮箱与微信第一阶段的合作主要以邮件的即时提醒.收发为主.微信企业号应用中心将提供“企业邮箱”的标准应用套件,此服务用由腾讯企业邮箱提供,支持用户绑定邮箱后可直接收发邮件;腾讯企业邮箱用户亦可同步企业邮通讯录到企业号,实现接收来信提醒.查看邮件.发送邮件等便捷服务;腾讯企业邮用户,可直接关联已有的企业号. 对于

python使用smtplib和email发送腾讯企业邮箱邮件

公司每天要发送日报,最近没事搞了一下如何自动发邮件,用的是腾讯企业邮箱,跟大家分享一下我的研究过程吧. 以前弄的发邮件的是用qq邮箱发的,当时在网上查资料最后达到了能发图片,网页,自定义收件人展示,主题等比较简 单的,但没想到说发送个word附件,后来才发现原来email里的MIMEText就可以,先上代码吧 1 #coding:utf8 2 ''' 3 日报 4 ''' 5 import email 6 import smtplib 7 import os 8 from email.mime.

腾讯企业邮箱API实现单点登录和获取企业未读邮件

应公司要求在ERP平台的OA系统上显示企业邮箱的未读邮件数量,并且实现单点登录.也就是点击数字可以直接进入腾讯企业邮箱不用登录.既然用到这个API肯定大家也都有腾讯企业邮箱OpenApi协议v1.4文档了.我这是1.4的. 有了文档就可以按照上面的步骤根据需要调用API就可以了.刚开始的时候拿到这个文档都还不知道怎么做,百度下感觉效果不明显,所以想写一个稍微完整一点的实例可以供大家参考 首先我是用Java写的,根据文档需要去访问它给的地址并携带正确参数才能返回我们需要的结果. 为了发送请求所以用

ubuntu 14.04 下evolution邮箱客户端设置(腾讯企业邮箱)

安装 evolution 有PPA可用,支持 Ubuntu 14.04 及衍生系统.打开终端,输入以下命令: sudo add-apt-repository ppa:fta/gnome3 sudo apt-get update sudo apt-get install evolution 卸载 evolution 命令: sudo apt-get remove evolution 配置: 在使用腾讯的邮箱时,都必须使用SSL加密 普通的qq邮箱 username 填写 邮箱名称 用户名:你的邮箱

腾讯企业邮箱免费版

3.4 腾讯企业邮箱免费版 使用自己域名的邮箱.比如公司的邮箱域名. 我下面以我的域名来操作. 1.首先自己先有个域名(我之前注册的域名在西部数码上购买的一年才39,www.caimz.cn). 2.其次就是去QQ企业邮箱免费版申请一个账号. 然后登陆管理界面,此时会收到一个域名绑定的提示.我的如下: 然后我要去我的域名管理的网站上去填写的我的申请的MX记录. 请您先登录到域名解析页面登录西部数码官网后台管理中心---业务管理---域名管理-----管理---域名解析 添加两条. 退出,等待生效

腾讯企业邮箱 POP3/SMTP 设置

下午魅族MX2刷完机,原先配置的公司邮箱还要重新配置.有些地方需要改,找到了篇文章,如下: 腾讯企业邮箱支持通过客户端进行邮件管理.POP3/SMTP协议收发邮件服务器地址分别如下.接收邮件服务器:pop.exmail.qq.com (端口 110)发送邮件服务器:smtp.exmail.qq.com (端口 25)同时支持SSL加密方式登录,此时需要更改一下端口号. 配置成功!因此记之,以备不时之需. 主要参考:腾讯QQ企业邮箱POP3/SMTP设置

解析腾讯企业邮箱到自己域名,设置mail的cname

之前注册了腾讯企业邮的免费邮箱,后来想把企业邮箱和域名绑定起来,发现了一些问题. 先来看正常的部分,假设你已经注册过了腾讯企业邮箱免费版,并且已经绑定好了域名. 然后在域名提供商那里设置域名解析的MX记录. 大家可以看到,企业邮箱其实与你的服务器没有任何关系,你可以选择任何一家的企业邮箱,譬如阿里云企业邮箱,网易的,或者腾讯的.我比较推荐阿里云的. 你只需要注册完企业邮箱后,绑定上你的域名,然后在这个地方设置MX记录来指向你的企业邮箱使用说明里要求设置的地址即可.一般的还需要设置一个txt记录来

腾讯企业邮箱

首选免费版做测试 邮箱申请地址 https://exmail.qq.com/onlinesell/intro 点击免费版-–微信扫描---设置管理账户---添加企业域名 我用的阿里域名,就在阿里域名下进行设置了 当解析生效后,点击确定直接进入腾讯企业邮箱后台 添加一个账户发送邮件做实验 添加账户完成,现在给我自己发送邮件看看能否成功 写邮件

使用iPhone配置腾讯企业邮箱

?? 使用iPhone配置腾讯企业邮箱 这里教大家如何在iPhone上用自带的邮件app配置腾讯企业邮箱.主要分两种方式:POP3/SMTP协议或者IMAP协议.下面分别介绍两种协议的设置方法. POP3/SMTP协议 接收邮件服务器:pop.exmail.qq.com ,使用SSL,端口号995 发送邮件服务器:smtp.exmail.qq.com ,使用SSL,端口号465 海外用户可使用以下服务器 接收邮件服务器:hwpop.exmail.qq.com ,使用SSL,端口号995 发送邮件