使用 Python 从 Gmail 下载特定电子邮件

2024-03-10

有人可以帮我定制现有的代码示例吗?

我可以从下面的文章中看到如何连接到gmail并下载内容,但我不知道如何搜索特定电子邮件并仅下载时间戳和正文?

文章:如何从 Gmail 下载所有带附件的电子邮件? https://stackoverflow.com/questions/348630/how-can-i-download-all-emails-with-attachments-from-gmail

我特别想抓取来自“[电子邮件受保护] /cdn-cgi/l/email-protection“过去 5 天并下载电子邮件的发送时间和正文。然后我将对其进行解析以确定我需要使用哪些电子邮件。

我是自学成才的,很难自定义上面的脚本来做到这一点。

任何帮助深表感谢。谢谢。

JD


我建议使用IMAP客户端 http://imapclient.freshfoo.com/因为它涵盖了 IMAP 的许多深奥的方面。

以下代码片段将根据您的条件提取消息,将消息字符串解析为email.message.Message http://docs.python.org/library/email.message.html#email.message.Message实例并打印Date and From标头。

from datetime import datetime, timedelta
import email
from imapclient import IMAPClient

HOST = 'imap.gmail.com'
USERNAME = 'username'
PASSWORD = 'password'
ssl = True

today = datetime.today()
cutoff = today - timedelta(days=5)

## Connect, login and select the INBOX
server = IMAPClient(HOST, use_uid=True, ssl=ssl)
server.login(USERNAME, PASSWORD)
select_info = server.select_folder('INBOX')

## Search for relevant messages
## see http://tools.ietf.org/html/rfc3501#section-6.4.5
messages = server.search(
    ['FROM "[email protected] /cdn-cgi/l/email-protection"', 'SINCE %s' % cutoff.strftime('%d-%b-%Y')])
response = server.fetch(messages, ['RFC822'])

for msgid, data in response.iteritems():
    msg_string = data['RFC822']
    msg = email.message_from_string(msg_string)
    print 'ID %d: From: %s Date: %s' % (msgid, msg['From'], msg['date'])
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Python 从 Gmail 下载特定电子邮件 的相关文章

  • 如何避免使用 python 处理空的标准输入?

    The sys stdin readline 返回之前等待 EOF 或新行 所以如果我有控制台输入 readline 等待用户输入 相反 我想打印帮助并在没有需要处理的情况下退出并显示错误 而不是等待用户输入 原因 我正在寻找一个Pytho
  • Python 切片对象和 __getitem__

    python 中是否有内部的东西来处理传递给的参数 getitem 不同 并自动转换start stop step构造成切片 这是我的意思的演示 class ExampleClass object def getitem self args
  • 如何使用 Python 3 绕过 HTTP Error 403: Forbidden with urllib.request

    您好 不是每次都这样 但有时在尝试访问 LSE 代码时 我会收到每一个烦人的 HTTP 错误 403 禁止消息 任何人都知道我如何仅使用标准 python 模块来克服这个问题 遗憾的是没有漂亮的汤 import urllib request
  • 使用python查找txt文件中字母出现的次数

    我需要从 txt 文件中读取该字母并打印 txt 文件中出现的次数 到目前为止 我已经能够在一行中打印内容 但计数有问题 有人可以指导吗 infile open grades txt content infile read for char
  • 在python中将数据库表写入文件的最快方法

    我正在尝试从数据库中提取大量数据并将其写入 csv 文件 我正在尝试找出最快的方法来做到这一点 我发现在 fetchall 的结果上运行 writerows 比下面的代码慢 40 with open filename a as f writ
  • 将 numpy 数组合并为单个 int

    numpy 数组怎么可以这样 10 22 37 45 转换为单个 int32 数字 如下所示 10223745 这可以工作 gt gt gt int join map str 10 22 37 45 10223745 基本上你使用map s
  • 反编译Python 3.9.2的PYC文件[重复]

    这个问题在这里已经有答案了 目前 我有一个 3 9 2 版本的 python 的 PYC 文件 P S 这适用于所有 3 9 及更高版本 我正在尝试反编译 PYC 文件 但它显示错误 因为 uncompyle6 或者更确切地说 新版本 de
  • 按边距(“全部”)值列对 Pandas 数据透视表进行排序

    我试图根据 pandas 数据透视表中的行总和对最后一列 边距 aggrfunc 进行降序排序 我知道我在这里错过了一些简单的东西 但我无法弄清楚 数据框 数据透视表 WIDGETS DATE 2 1 16 2 2 16 2 3 16 Al
  • 从 Azure ML 实验中访问 Azure Blob 存储

    Azure ML 实验提供了通过以下方式读取 CSV 文件并将其写入 Azure Blob 存储的方法 Reader and Writer模块 但是 我需要将 JSON 文件写入 blob 存储 由于没有模块可以执行此操作 因此我尝试在Ex
  • 使用 Boto3 以字符串形式打开 S3 对象

    我知道使用 Boto 2 可以使用以下命令将 S3 对象作为字符串打开 get contents as string http boto readthedocs org en latest ref file html highlight c
  • Series.sort() 和 Series.order() 有什么区别?

    s pd Series nr randint 0 10 5 index nr randint 0 10 5 s Output 1 3 7 6 2 0 9 7 1 6 order 按值排序并返回一个新系列 s order Output 2 0
  • 如何过滤 Pandas GroupBy 对象并获取 GroupBy 对象?

    当对 Pandas groupby 操作的结果执行过滤时 它返回一个数据帧 但假设我想执行进一步的分组计算 我必须再次调用 groupby 这似乎有点绕 有更惯用的方法吗 EDIT 为了说明我在说什么 我们无耻地从 Pandas 文档中窃取
  • AttributeError:“模块”对象没有属性[重复]

    这个问题在这里已经有答案了 我有两个 python 模块 a py import b def hello print hello print a py print hello print b hi b py import a def hi
  • python 中的 <> 运算符有什么作用?

    我刚刚遇到这个here http www feedparser org feedparser py 总是这样使用 if string1 find string2 lt gt 1 pass 什么是 lt gt 运算符这样做 为什么不使用通常的
  • Python Anaconda:如何测试更新的库是否与我现有的代码兼容?

    我在 Windows 7 机器上使用 Python 2 7 Anaconda 安装进行数据分析和科学计算 当新的库发布时 例如新版本的 pandas patsy 等 您建议我如何测试新版本与现有代码的兼容性 是否可以在同一台机器上安装两个
  • 可以使用哪些技术来衡量 pandas/numpy 解决方案的性能

    Question 如何简洁全面地衡量下面各个功能的性能 Example 考虑数据框df df pd DataFrame Group list QLCKPXNLNTIXAWYMWACA Value 29 52 71 51 45 76 68 6
  • 使用 PIL 在 Tkinter 中显示动画 GIF

    我正在尝试制作一个程序来使用 Tkinter 显示动画 GIF 这是我最初使用的代码 from future import division Just because division doesn t work right in 2 7 4
  • 如何给URL添加变量?

    我正在尝试从网站收集数据 我有一个 Excel 文件 其中包含该网站的所有不同扩展名 F i www example com example2 我有一个脚本可以成功从网站中提取 HTML 但现在我想为所有扩展自动执行此操作 然而 当我说 s
  • 如何获取pandas中groupby对象中的组数?

    我想知道有多少个独特的组需要执行计算 给定一个名为 groupby 的对象dfgroup 我们如何找到组的数量 简单 快速 Pandaic ngroups 较新版本的 groupby API pandas gt 0 23 提供了此 未记录的
  • 用于插入或替换 URL 参数的 Django 模板标签

    有人知道 Django 模板标签可以获取当前路径和查询字符串并插入或替换查询字符串值吗 例如向 some custom path q how now brown cow page 3 filter person 发出请求 电话 urlpar

随机推荐

  • 减少撰写中可滚动选项卡之间的间距

    我正在尝试创建一个动画 其中有水平滚动的可滚动组件 就像是 我想过使用可滚动选项卡 它在某种程度上有效 除了我仍在研究如何减少您在上面的 gif 中看到的裁剪项目之间的空间 我已经尝试过什么 Composable fun CropBar o
  • 如何在angular2 router3中为子路由指定辅助组件

    我正在使用新的route3 并且想知道为子路由指定辅助组件的URL 语法是什么 我有以下子路由定义 const router RouterConfig path component c component ComponentC childr
  • 为什么要重新抛出异常

    在 C 中 为什么要重新抛出异常 为什么不让当前的catch块处理异常呢 出于什么原因 您会将异常重新抛出到另一个 try catch 块 当函数无法满足其约定 它向调用者承诺它将执行的操作 时 会引发异常 当一个函数调用另一个抛出异常的函
  • Asp.Net MVC 输入验证在禁用后仍然触发

    我已经禁用了validateRequest在我的 web Config 中 但应用程序仍然引发错误 从客户端检测到潜在危险的 Request Form 值 我的 web Config 中有以下内容
  • 如何使用 Javascript 从输入字段获取值?

    如何使用 Javascript 获取特定输入字段的值 我们以这家shopify商店为例 https geekymate com products magic doormat 1 variant 18941211607138 https ge
  • 如何在 Swift 3 中使用带有浮点值的 sin(_ : ) [重复]

    这个问题在这里已经有答案了 import Foundation public func sine
  • 无需管理员权限即可启动和停止 Windows 服务

    如何在没有管理员权限的情况下启动和停止窗口服务 我的应用程序启动应该以与关闭后必须停止的方式相同的方式启动我的服务 我可以使用 服务控制器 来做到这一点 我可以使用管理员权限安装该服务 但启动和停止该服务不应要求管理员权限 谁能告诉我如何使
  • SSLProtocolException 建立 https 连接

    当我与网络服务器建立 https 连接时 出现 SSLProtocolException 我只在 Android 2 3 Gingebread 中有这个例外 相同的代码在所有其他 Android 版本中都可以正常工作 这个安卓版本有问题吗
  • 并非所有字节都读取常见解决方案

    在这篇文章中 我将详细介绍导致神秘错误消息的原因 Smart contract panicked panicked at Cannot deserialize the contract state Custom kind InvalidDa
  • 以编程方式修改 ActionBarDrawerToggle Drawable

    有谁知道在构造函数中通过资源 ID 设置用于 ActionBarDrawerToggle 的可绘制对象的方法吗 我正在使用导航抽屉 我想以编程方式将颜色过滤器应用于图标 但我不知道如何将其作为可绘制对象进行访问 任何帮助 将不胜感激 谢谢
  • 试运行中的 sed 命令

    如何进行空运行sed 我有这个命令 find type f xargs sed i s string1 string2 g 但在我真正替换所有文件之前 我想检查它会替换什么 复制整个目录结构来检查是不可能的 去除 i并将其通过管道传输到le
  • 通过 aws ses 发送带有 Node.js 附件的邮件

    有谁有一些如何发送带有附件的电子邮件的示例node js与 aws ses 一起吗 如果你想避免痛苦 你必须使用 Nodemailer 包装的 SES 直接使用AWS SDK 您无法使用以下方式发送附件ses sendEmail 你必须使用
  • 如何在不下载的情况下计算AWS S3中zip内的文件数量?

    案件 S3 存储桶中有一个很大的 zip 文件 其中包含大量图像 有没有一种方法无需下载整个文件即可读取元数据或知道 zip 文件中有多少个文件 当文件是本地文件时 在 python 中 我可以将其作为 zipfile 打开 然后调用 na
  • 如何强制编译器使用显式复制构造函数?

    我编写了一个小型测试程序 其中包含一个示例类 其中还包含自定义构造函数 析构函数 复制构造函数和赋值运算符 当我意识到复制构造函数根本没有被调用时 我感到很惊讶 即使我实现了带有我的类的返回值和像这样的行的函数Object o1 Objec
  • 为什么 openGL glDepthFunc() 不起作用?

    我正在玩 openGL 我试图摆脱蓝色标记的三角形 我用这个代码 glEnable GL DEPTH TEST glDepthFunc GL LESS glEnable GL CULL FACE 是的 我用 glClear GL COLOR
  • Matplotlib - 单值等高线图

    我想绘制一些数据的等值线图 但字段中的所有值可能都相同 这会导致 matplotlib 中出现错误 这是有道理的 因为实际上没有要创建的轮廓 例如 如果你运行下面的代码 你会得到一个错误 但删除第二个定义zi它按预期运行 如果某些数据是均匀
  • PowerShell 从远程 PC 删除桌面项目

    我有 200 台电脑需要删除一些特定的图标 我使用 ComputerName 创建了一个 CSV 文件 每行 1 个名称 我有另一个文件 其中包含需要从桌面删除的图标的文件名 Shortcut1 lnk 等 该其他文件也是 CSV 每行 1
  • 强制执行必须在*不同*字段中的每个子类中实现的属性的最佳方法是什么?

    我正在尝试想出 最好 的实施方式SQL 数据服务灵活的实体模型 http msdn microsoft com en us library cc512402 aspx其中每个类都可以存储为一个实体 甚至派生类 示例 每个子类都有不同的 st
  • 如何在不使用 for 循环的情况下对不同大小的矩阵的各个部分求和?

    我有一个相对较大的矩阵 NxN N 20 000 和一个 Nx1 向量 用于标识必须分组在一起的索引 我想将矩阵的各个部分相加 原则上可以有不同数量的元素和非相邻元素 我很快写了一个双 for 循环 它可以正常工作 但当然效率很低 探查器将
  • 使用 Python 从 Gmail 下载特定电子邮件

    有人可以帮我定制现有的代码示例吗 我可以从下面的文章中看到如何连接到gmail并下载内容 但我不知道如何搜索特定电子邮件并仅下载时间戳和正文 文章 如何从 Gmail 下载所有带附件的电子邮件 https stackoverflow com