首页
学习
活动
专区
圈层
工具
发布

Python 自动化指南(繁琐工作自动化)第二版:十八、发送电子邮件和短信

使用 Gmail API 发送和接收电子邮件 Gmail 拥有将近三分之一的电子邮件客户端市场份额,你很可能至少有一个 Gmail 电子邮件地址。...EZGmail 是我编写的一个模块,它工作在官方 Gmail API 之上,并提供了一些功能,使从 Python 使用 Gmail 变得很容易。...图 18-1:在 Gmail 网站搜索“机械战警”邮件 像unread()和recent()一样,search()函数返回一个GmailThread对象的列表。...不幸的是,Python 并没有像那些服务一样提供给你一个漂亮的图形用户界面。相反,您可以调用函数来执行 SMTP 的每个主要步骤,如下面的交互式 Shell 示例所示。...在使用 Gmail API 时,有哪些credentials.json和token.json文件? 在 Gmail API 中,“线程”和“邮件”对象有什么区别?

15.2K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    邮件发送基础:深入SMTP协议、配置邮件服务器及Python实现

    工作原理 SMTP协议的工作过程可以概括为以下几个步骤: 建立连接:SMTP客户端(即发送邮件的计算机或服务器)与SMTP服务器(即接收邮件的计算机或服务器)之间建立TCP连接,通常使用端口25(非加密...获取服务器和端口信息:在SMTP设置页面中,你将找到SMTP服务器的地址(如smtp.gmail.com、smtp.qq.com等)和端口号(通常为25、465或587)。...(省略了发送邮件的代码) 发送带附件的邮件 发送带附件的邮件稍微复杂一些,需要使用MIMEMultipart类来构造一个多部分邮件消息。以下是一个发送带附件邮件的示例代码: # ......(省略了发送邮件的代码) 在这个示例中,我们首先创建了一个MIMEMultipart对象来作为邮件的主体。然后,我们添加了一个纯文本正文部分和一个附件部分。...完整示例:发送带附件的HTML邮件 下面是一个完整的示例,展示了如何使用Python的smtplib和email模块发送一封包含HTML正文和单个附件的邮件。

    64910

    yagmail邮件发送库:如何用Python实现自动化邮件营销?

    在Python编程中,发送电子邮件是一个常见的需求,无论是用于自动化报告、用户通知还是简单的信息交换。yagmail库以其简洁的API和强大的功能,成为了众多开发者发送邮件的首选工具。...1.3 关键参数 参数名称 描述 示例值 user 发送邮件的邮箱账号 'your_email@qq.com' password 邮箱的登录密码或授权码(注意:不建议在代码中硬编码密码,建议使用环境变量或配置文件存储...在命令行中运行以下命令: pip install yagmail 2.2 依赖项 yagmail依赖于smtplib(Python标准库的一部分)和requests库来处理HTTP请求(主要用于验证某些邮件服务...']) 四、高级功能 4.1 添加附件 yagmail允许您轻松添加附件: # 发送带有附件的邮件 yag.send('recipient@example.com', 'Subject', '...OAuth2认证:对于支持OAuth2的邮件服务(如Gmail),使用OAuth2令牌代替密码进行认证,提高安全性。

    95700

    使用Python发送自定义电子邮件

    mailmerge_template.txt:这是带有占位符字段的电子邮件文本,将使用mailmerge_database.csv中的数据替换 。    ...要记住的最大事情是更新文件中的用户名,尤其是在使用示例配置之一时。     数据库.csv     mailmerge_database.csv文件要复杂一些。...这些值控制着酒店文本的包含并提供附件的名称。 在我的示例中,PèrsonB和我获得了酒店资金,而PersonA没有。     无论您使用的是简单模板还是复杂模板,试运行和发送电子邮件都是相同的。...您还可以尝试在标头中使用条件条件( 如果 … endif )。 例如,只有在数据库中有一个附件时,您才可以具有附件,或者您可能需要更改某些电子邮件的发件人名称,而其他电子邮件则不需要。    ...即使对于简单的组电子邮件,我发现这种方法也比使用CC或BCC向一群人发送一封电子邮件有效得多。 许多人会过滤电子邮件,并延迟阅读未直接发送给他们的任何内容。

    4.7K30

    MCP 全解析:AI Agent 如何突破“工具困境”?一文带你掌握核心协议与实战部署指南

    ` 1.1 工具太多,语境太少 举个实际例子: 用户说:「Anmol昨天有发邮件关于会议总结吗?」...通过 MCP,你的 AI agent 可以: 发送邮件(Gmail) 创建任务(Linear) 查询文档(Notion) 发Slack消息 更新CRM记录(Salesforce) 所有操作都通过自然语言...✅ 支持多步骤工作流 + 记忆能力 模型可以依次: 查询数据 → 处理 → 生成结果 → 调用发送 中间状态存储在 resource,提升 agent 的「多步能力」 ✅ 减少幻觉,提高可控性 因 MCP...连接 100+ 工具只需几步 使用场景:在 Cursor 中启用 MCP,实现 Gmail、Slack、YouTube 等服务连接。...✅ 正确示例:AI 先询问“是否发送邮件?”

    2.7K10

    Python邮件发送完全指南 - 从基础到高级应用

    准备工作在发送邮件前,你需要:拥有一个支持SMTP的邮箱账号(Gmail、QQ、163等)获取SMTP服务器地址和端口号生成邮箱的授权码(而非登录密码)常用邮箱SMTP配置邮箱服务SMTP服务器端口加密方式...except Exception as e: print(f"邮件发送失败: {str(e)}")发送带附件的邮件通过Python可以轻松发送包含附件的邮件,适合发送报告、文档和图片。...except Exception as e: print(f"邮件发送失败: {str(e)}")邮件发送最佳实践安全性始终使用加密连接(SSL/TLS)不要将密码硬编码在代码中使用环境变量或配置文件存储敏感信息错误处理使用...try-except捕获异常添加重试机制记录邮件发送日志性能优化重用SMTP连接发送多封邮件批量发送时使用多线程使用异步方式发送总结Python通过smtplib和email库提供了强大的邮件发送能力。...无论是简单的文本通知,还是复杂的带附件HTML邮件,Python都能轻松应对。在实际应用中,建议将邮件发送功能封装成独立模块或类,以便在整个项目中复用。

    69500

    SVG文件中的隐蔽威胁:电子邮件钓鱼攻击的新载体分析

    然而,随着其功能扩展,SVG逐渐暴露出安全风险,尤其在电子邮件环境中成为新型钓鱼攻击的高发载体。...尽管W3C规范明确指出SVG文档可包含交互式内容,但在实际部署中,许多邮件客户端(如Outlook Web、Apple Mail、Gmail网页版)在解析SVG附件时仍会触发浏览器级渲染引擎,从而执行其中嵌入的脚本...然而,在电子邮件上下文中,这一安全模型被显著削弱:邮件客户端渲染机制差异:部分Web邮件客户端(如早期版本的Gmail)在预览窗格中直接使用浏览器引擎渲染SVG,导致脚本在用户无感知情况下执行。...恶意载荷嵌入:在SVG中插入JavaScript代码,用于动态生成钓鱼表单或发起隐蔽请求。邮件投递:通过SMTP服务器发送含SVG附件的邮件,主题常伪装为“重要更新”“账户验证”等。...自动触发:用户打开邮件时,邮件客户端渲染SVG,脚本自动执行。数据窃取:用户在伪造表单中输入凭证,数据经Base64编码后通过Image Beacon或Fetch API外传至攻击者控制服务器。

    23310

    伪装成“熟人”的邮件,藏着国家级黑客的陷阱——Callisto组织鱼叉式钓鱼新动向敲响全球媒体安全警钟

    发件人使用的是ProtonMail邮箱,署名是其长期合作的一位记者同行,语言是地道的法语,签名格式与往常毫无二致。邮件正文没有附件,也没有可疑链接,只有一句简洁的请求:“能否帮忙审阅一份文件?”...其标志性手法包括:高度定制化的邮件内容:攻击者会深入研究目标背景,模仿其熟人的写作风格、常用词汇甚至时区习惯;利用可信邮件服务商:早期多用Gmail,近年转向ProtonMail、Tutanota等注重隐私的加密邮箱...“Jean Dupont”改为“Jean.Dupont.pro”);诱导阶段:发送无害邮件,仅提出模糊请求,等待目标回复;投递阶段:一旦收到回复,立即发送伪造的OneDrive共享链接,指向一个克隆的Microsoft...等关键令牌;使用这些令牌通过Graph API直接操作用户数据。...芦笛给出三条接地气的建议:“慢三秒”原则:收到“熟人”发来的异常请求(尤其是换邮箱、要文件、催操作),先通过电话或另一渠道确认;永远手动输入网址:不要点击邮件中的“登录”按钮,尤其是来自Gmail、Outlook

    27310

    扫码即沦陷?QR码钓鱼攻击激增五倍,企业安全防线正被“视觉漏洞”撕开

    几秒后,手机自动跳转至一个看似顺丰官网的页面,要求输入手机号和验证码以“确认身份”。她照做了。当天下午,她的企业邮箱开始向外群发带有恶意附件的邮件。IT部门紧急排查发现:小林的账户已被完全接管。...“QR码正在成为攻击者绕过企业邮件安全网关的‘视觉后门’,”公共互联网反网络钓鱼工作组技术专家芦笛在接受本报专访时直言,“当防御系统还在分析邮件文本里的URL时,攻击者已经把恶意链接藏进了图片里。”...它们会扫描邮件正文、HTML源码中的URL,比对黑名单、检查域名拼写异常(如micosoft.com)、验证SSL证书等。但QR码是图像。...阶段2:投递诱饵邮件常以PDF附件形式发送,内嵌QR码图片。...意识层:开展“扫码专项”钓鱼演练模拟发送含QR码的假HR通知、假快递单;测试员工是否会扫描,以及是否检查跳转后的URL;对中招员工进行一对一复盘,强化“扫码即高危操作”的认知。

    18610

    python发送邮件(二)——smtplib模块和email模块

    现在一般都推荐使用SSL,Secure Socket Layer,465是默认的SMTP over SSL的端口号, 如果在创建SMTP对象的时候提供了这两个参数,在初始化的时候会自动调用connect...MIMEText对象,不是一个dict对象,因此在某些循环发送Email的代码中,msg对象不能重复使用,如果只是修改msg['To']的值,想将相同的Email信息发送给不同的人,这样操作是不行的。...except Exception as e: print("发送失败:" + e) ---- 8、发送正文带图片的邮件 直接在HTML邮件中链接图片地址的方法是不可行的,因为大部分邮件服务商都会自动屏蔽带有外链的图片...,因为不知道这些链接是否指向恶意网站 要把图片嵌入到邮件正文中,我们只需按照发送附件的方式,先把邮件作为附件添加进去,然后,在HTML中通过引用src="cid:0"就可以把附件作为图片嵌入了。...#后面的代码和前面的发送邮件代码完全一样 server.set_debuglevel(1) ---- 三、示例 1、完整示例——图片插入在正文 完整使用示例,但是这里有一个问题,暂时还未解决:在正文中插入图片之后

    7.7K42

    Python基础教程(二十):SMTP发送邮件

    在Python中,我们使用smtplib库来与SMTP服务器进行交互,发送邮件。...二、设置SMTP服务器 在发送邮件之前,我们需要配置SMTP服务器的详细信息,包括服务器地址、端口号、登录用户名和密码。这些信息通常由你的邮件提供商(如Gmail、Outlook等)提供。...五、注意事项 安全: 不要在脚本中硬编码密码,考虑使用环境变量或配置文件来存储敏感信息。 测试: 在正式使用前,先在测试环境中发送邮件,确保一切正常。...频率限制: 邮件提供商可能对发送邮件的数量有限制,频繁发送可能会导致账户被暂时封锁。 通过本文的学习,你应该能够使用Python的smtplib库发送带有文本和附件的电子邮件了。...这是一个强大的工具,可以应用于各种自动化任务中,提高工作效率。不断实践和探索,你将能够发掘更多邮件自动化带来的便利。

    1.6K10

    基于Google云服务滥用的新型钓鱼攻击机制与防御策略研究

    权限申请策略:在OAuth同意屏幕配置中,申请看似合理但实则高危的权限范围(Scopes),例如https://www.googleapis.com/auth/gmail.send(发送邮件)、https...攻击者利用API直接向用户的任务列表添加条目,或创建日历事件。系统会自动向用户发送电子邮件通知,发件人显示为"Google Calendar"或"Google Tasks"。...2.2.2 OAuth授权请求钓鱼这是一种更为隐蔽且危害更大的方式。攻击者不直接发送含链接的邮件,而是诱导用户进行OAuth授权。...或者,利用Cloud Functions监听特定的GitHub仓库提交或外部Webhook,一旦触发条件满足,立即调用Gmail API发送钓鱼邮件。...信誉评分:检查发送IP和域名的信誉。Google的IP段信誉极高,不会被列入黑名单。内容过滤:扫描邮件正文中的恶意链接或附件。然而,攻击者可以使用短链接服务、图片隐藏链接或动态跳转技术绕过静态扫描。

    15210

    离线 Gmail

    不像 Mozilla Thunderbird 或者 Outlook 一样的软件,使用离线版 Gmail 你不需要安装任何额外的软件,它使用通过浏览器进行工作的,只要你的浏览器支持 Google Gears...当启用离线版 Gmail 之后,Gmail 使用 Gears 把邮件下载到本地缓存,然后只要再次连上了网络,本地缓存就会和 Gmail 服务器同步,如果网络断了,Gmail 会自动切换到离线模式,使用已经缓存在电脑硬盘上的数据进行工作...在离线模式下,我们可以阅读邮件,给邮件加星或者标签,和其他你在线阅读邮件做的事情。在离线模式下发送的邮件都会放到 Outlook 中,并且会在下次 Gmail 检测到网络的时候自动发送。...在网络状态不稳定的情况下,通过启用 flaky 连接模式,让 Gmail 更加有效的工作,在 flaky 连接模式下,首先会访问本地缓存,这样使得阅读和发送邮件更加快速。...Gmail 会涉及隐私的问题,如附件就是可以随便 copy 的,所以最好不要在公共电脑使用 Offline Gmail。

    2.2K10

    【详解】javamail发送邮件noobjectDCHforMIMEtypemultipartmixed

    在发送带有附件或内嵌资源的邮件时,通常会使用 ​​multipart/mixed​​ 类型来组织邮件内容。这种 MIME 类型允许多个部分(如文本和附件)在一个邮件中同时存在。2....在使用JavaMail API发送包含附件的邮件时,可能会遇到​​no object DCH for MIME type multipart/mixed​​​的错误。...下面是一个示例代码,展示了如何使用JavaMail API发送带有附件的邮件,并解决上述问题:import javax.activation.DataHandler;import javax.activation.DataSource...下面是一个详细的示例,展示如何使用JavaMail API 发送带有附件的邮件,并确保正确处理 ​​multipart/mixed​​ 类型。1....编写发送邮件的代码以下是一个完整的示例代码,展示了如何发送带有附件的邮件:import javax.mail.*;import javax.mail.internet.

    28410

    Zmail———极简方式用python发送邮件

    介绍 Zmail 使得在python3中发送和接受邮件变得更简单。你不需要手动添加服务器地址、端口以及适合的协议,zmail会帮你完成。此外,使用一个python字典来代表邮件内容也更符合直觉。...不支持python2. $ pip3 install zmail 特性 自动寻找服务器地址以及端口 自动使用可靠的链接协议 自动将一个python字典映射成MIME对象(带有附件的) 自动添加头文件以及...-1',sender='github') 示例中, 如果 'GitHub' 在邮件的主题中,这封邮件将会被匹配, 例如' [GitHub] Your password has changed' sender...解析你的邮件 在zmail中,接收到的邮件被映射为一个字典,你可以通过访问python字典的形式来访问你的邮件,例如 subject = mail['subject'] 打印你的邮件,使用 zmail.show...如果为True,当键'to'(不区分大小写)不在发送的邮件中时,默认的'to'将会自动添加到邮件中 auto_add_from 如果为True,当键'from'(不区分大小写)不在发送的邮件中时,默认的

    2.8K20

    Python yagmail库教程:轻松发送电子邮件 - Python邮件发送指南

    主要优点:极简的API设计,减少代码量自动处理SMTP连接支持HTML内容和附件安全存储密码支持Gmail及其他SMTP服务安装yagmail使用pip安装:pip install yagmail基本用法...发送简单文本邮件import yagmail# 初始化客户端(首次使用会提示输入密码)yag = yagmail.SMTP('your_email@gmail.com', host='smtp.gmail.com...发送带附件的邮件# 单个附件yag.send( to='recipient@example.com', subject='月度报告', contents='请查收附件中的月度报告',...安全存储密码yagmail可以在keyring中安全存储密码:# 首次运行时,会提示输入密码yagmail.register('your_email@gmail.com', 'your_password...如何解决Gmail发送问题?确保在Google账户中启用了"安全性较低的应用的访问权限"或使用应用专用密码。2. 支持哪些邮件服务商?

    48810

    构建AI Agent的完整实战指南:从邮件助手案例看6步落地方法

    通过以下方式保持简单: 对 Prompt 所需的任何数据或上下文先采用手动输入(暂时不要自动化)。 对照第一步中设定的示例进行测试,以验证其在常见用例下的表现。 专注于使 LLM 推理正确无误。...首先编写一个只执行此任务的核心 Prompt,并使用手动输入示例数据,例如: 邮件内容:“我们下周能开会讨论 LangChain 的产品路线图吗?”...示例:构建邮件 Agent 对于我们的邮件 Agent 来说,此步骤可能涉及集成 Gmail API(用于读取收到的邮件)、Google Calendar API(用于检查空闲情况)以及 CRM 系统或联系人数据库...经过人工审核后发送邮件。 第五步:测试与迭代 首先使用你在第一步定义的示例进行手动测试你的 MVP。目标是验证你的 Agent 在核心用例中是否能产生合理、准确的输出。...如果你的系统涉及多次 LLM 调用或多个步骤,使用像 LangSmith 这样的工具来设置流程追踪会很有帮助,可以可视化流程并调试每个阶段的决策是如何做出的。

    86710

    imbox,一个有趣的 Python 库!

    特性 易于使用:通过简单的API读取、搜索和下载邮件。 广泛支持:支持任何兼容IMAP的邮件服务器。 附件处理:易于下载和处理邮件附件。 安全性:支持安全的连接,包括SSL和TLS。...这可以帮助管理电子邮箱,特别是在自动化系统中处理垃圾邮件或不再需要的邮件。 邮件归档 Imbox也可以用来归档邮件,将邮件移动到特定的文件夹。...analyze_email_contents(email_contents) 客户支持系统 在客户支持系统中,Imbox可以用来管理客户邮件,自动分类并分配到相应的客服团队。...technical support" in message.subject.lower(): move_to_department("Technical Support", message) 这个示例演示了如何使用...它支持广泛的邮件操作,包括处理附件、邮件搜索、自动化邮件处理及归档等,非常适合于需要从邮件中提取数据、自动化回复客户或管理大量邮件的应用。

    1.3K10
    领券