news 2026/6/10 19:04:15

sendgrid-python:用 Python 发邮件,几行代码搞定

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
sendgrid-python:用 Python 发邮件,几行代码搞定

文章目录

  • sendgrid-python:用 Python 发邮件,几行代码搞定
    • 安装很简单
    • 发邮件有两种写法
    • 不止发邮件
    • 什么场景适合用
    • 小结
    • 小结

sendgrid-python:用 Python 发邮件,几行代码搞定

最近留意到一个邮件发送的 Python 库,sendgrid-python。它在 GitHub 上有 1,628 个 Star,数量不算多,但解决的是个实在问题。

很多开发者都遇到过这种情况:项目需要发邮件,用 Python 自带的 smtplib 也能写,但配置麻烦,成功率低,进垃圾箱的概率还高。走第三方邮件服务的 API 会更稳一些,sendgrid-python 就是 SendGrid 服务的官方 Python SDK。

这个库封装了 SendGrid Web API v3 的全部端点,最常用的功能就是发邮件,也支持查询退信、处理入站邮件等。对需要集成邮件功能的 Python 项目来说,是个省事的方案。

安装很简单

直接用 pip 装:

pipinstallsendgrid

依赖只有两个:Python-HTTP-Client 和 Cryptography。Python 版本要求 2.7 以上。

使用时需要配置 SENDGRID_API_KEY 环境变量,在 SendGrid 后台申请一个就行。配好一次,后续不用再管。Mac 和 Windows 的环境变量配置方式文档里都写了,复制粘贴就能用。

发邮件有两种写法

这个库提供了两种使用方式,看你喜欢哪种。

第一种是用 Mail 辅助类,这是最省事的写法:

importsendgridimportosfromsendgrid.helpers.mailimport*sg=sendgrid.SendGridAPIClient(api_key=os.environ.get('SENDGRID_API_KEY'))from_email=Email("test@example.com")to_email=To("test@example.com")subject="Sending with SendGrid is Fun"content=Content("text/plain","and easy to do anywhere, even with Python")mail=Mail(from_email,to_email,subject,content)response=sg.client.mail.send.post(request_body=mail.get())

几行代码就能发一封邮件。Mail 类会自动帮你处理 personalization 对象,不用手动拼 JSON。对大多数场景来说,这种写法够用了。

第二种是直接调 API,自己组装请求体:

sg=sendgrid.SendGridAPIClient(api_key=os.environ.get('SENDGRID_API_KEY'))data={"personalizations":[{"to":[{"email":"test@example.com"}],"subject":"Sending with SendGrid is Fun"}],"from":{"email":"test@example.com"},"content":[{"type":"text/plain","value":"and easy to do anywhere, even with Python"}]}response=sg.client.mail.send.post(request_body=data)

这种方式更灵活,适合需要精细控制的场景。比如要加附件、用模板、批量发送,都可以在这种结构上做扩展。文档里还有更完整的示例,需要的时候可以查。

不止发邮件

除了发邮件,这个库还支持 SendGrid v3 的所有 API 端点。

比如查退信列表:

response=sg.client.suppression.bounces.get()

支持流式接口的写法,代码链条清晰。也支持传统的路径字符串方式:

response=sg.client._("suppression/bounces").get()

另外还带了入站邮件解析的辅助模块,可以处理通过 webhook 接收到的邮件。这个功能在需要做邮件自动回复或工单系统的场景里会用到。

什么场景适合用

如果你的项目需要发事务性邮件,比如注册验证码、密码重置、通知推送,这个库很合适。API 方式比 SMTP 稳定,送达率也更高。SendGrid 有免费额度,小项目够用了。

如果你要做复杂的邮件路由、解析,可能需要更多基础设施。但作为发送端,sendgrid-python 够用了。文档里还有常见用例的示例代码,照着改就行。

代码是 MIT 协议的,可以商用。社区也比较活跃,有问题能查到解决方案。

小结

sendgrid-python 是个务实的工具。代码简洁,文档完整,几行代码就能集成邮件发送。对于需要邮件功能的 Python 项目来说,值得试试。

题能查到解决方案。

小结

sendgrid-python 是个务实的工具。代码简洁,文档完整,几行代码就能集成邮件发送。对于需要邮件功能的 Python 项目来说,值得试试。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 19:04:05

工厂通用|工业 UPS 与民用 UPS 核心区别,自动化产线该如何选型

​民用 UPS 和工业不间断电源差距在哪?自动化产线、机房选型避坑指南一、很多工厂踩坑:误用民用 UPS 带来巨大损失 大量中小型自动化加工厂、小型服务器机房采购电源时,为压缩成本选择民用家用 / 办公 UPS,长期使用暴露出大量问题…

作者头像 李华
网站建设 2026/6/10 19:03:06

2026免费一键去图片水印的app,免费去图片水印app推荐

在日常使用手机、电脑处理图片的过程中,我们经常会遇到图片带有水印的情况,不管是网上保存的素材、截图画面,还是日常收集的生活照片,多余的水印都会影响整体观感。很多个人用户只是偶尔有去水印的需求,并不想付费开通…

作者头像 李华
网站建设 2026/6/10 19:01:25

吴佳怡吴添豪新剧晋江开机 《坠入夜色的他》演绎非遗制香与熟龄浪漫

2026年6月8日,现代爱情治愈剧《坠入夜色的他》在福建晋江正式举行开机仪式。该剧由汶玺影业、聚龙欢映出品,星玖堂、东西岸聚星联合出品,导演程箓执导,青年演员吴佳怡、吴添豪领衔主演,周川珺、邓雅馨、邱家庆、赵宁、…

作者头像 李华
网站建设 2026/6/10 18:57:03

QMCDecode终极指南:如何轻松解锁QQ音乐加密音频文件

QMCDecode终极指南:如何轻松解锁QQ音乐加密音频文件 【免费下载链接】QMCDecode QQ音乐QMC格式转换为普通格式(qmcflac转flac,qmc0,qmc3转mp3, mflac,mflac0等转flac),仅支持macOS,可自动识别到QQ音乐下载目录,默认转换…

作者头像 李华
网站建设 2026/6/10 18:56:13

如何彻底改变GTA5线上体验:免费小助手的完整使用指南

如何彻底改变GTA5线上体验:免费小助手的完整使用指南 【免费下载链接】GTA5OnlineTools GTA5线上小助手 项目地址: https://gitcode.com/gh_mirrors/gt/GTA5OnlineTools 你是否厌倦了在GTA5线上模式中重复枯燥的任务?是否想要更轻松地探索洛圣都的…

作者头像 李华
网站建设 2026/6/10 18:56:12

iOS 26.4越狱完整教程:安全解锁iPhone隐藏功能的终极指南

iOS 26.4越狱完整教程:安全解锁iPhone隐藏功能的终极指南 【免费下载链接】Jailbreak iOS 26.4 - 26, 17 - 17.7.5 & iOS 18 - 18.7.3 Jailbreak Tools, Cydia/Sileo/Zebra Tweaks & Jailbreak News Updates || AI Jailbreak Finder 👇 项目地…

作者头像 李华