Django-Mailgun 技术文档
1. 安装指南
首先,确保你已经安装了 Django。接下来,你可以使用 pip 命令安装 django-mailgun。
pip install django-mailgun
在安装完 django-mailgun 后,你需要在项目的 settings.py
文件中配置一些参数。
EMAIL_BACKEND = 'django_mailgun.MailgunBackend'
MAILGUN_ACCESS_KEY = 'ACCESS-KEY'
MAILGUN_SERVER_NAME = 'SERVER-NAME'
将 ACCESS-KEY
替换为你的 Mailgun 账户详情中的 "API-KEY",将 SERVER-NAME
替换为你的 "API Base URL" 的最后一部分(例如:https://api.mailgun.net/v3/<your_server_name>
)。
2. 项目使用说明
在配置好 django-mailgun 后,你可以像平时一样使用 django.core.mail.send_mail
方法发送邮件,django-mailgun 会自动将邮件发送到 Mailgun。
from django.core.mail import send_mail
send_mail('Subject here', 'Here is the message.', 'from@example.com', ['to@example.com'], fail_silently=False)
3. 项目API使用文档
django-mailgun 支持一些额外的特性,例如:
发送用户特定数据
如果你想利用 Mailgun 的批量发送功能,你需要在 EmailMessage
的 extra_headers
属性中添加一个有效的 JSON 字符串。
from django.core.mail import EmailMessage
email = EmailMessage('Hi!', 'Cool message for %recipient.first_name%', 'admin@example.com', ['joe@example.com', 'jane@example.com'])
email.extra_headers['recipient_variables'] = '{"joe@example.com":{"first_name":"Joe"}, "jane@example.com":{"first_name":"Jane"}}'
email.send()
分析和其他追踪功能
Mailgun 允许你追踪关于你的电子邮件的某些事件。你可以在 API 调用中传递这些选项(更多信息请查看 Mailgun 文档)。如果你在 extra_headers
中添加任何 SMTP 选项,django-mailgun 会将这些值映射到相应的 API 参数。
from django.core.mail import EmailMessage
email = EmailMessage('Hi!', 'Cool message for Joe', 'admin@example.com', ['joe@example.com'])
email.extra_headers['X-Mailgun-Tag'] = ['Tag 1', 'Tag 2']
email.send()
附加数据到消息
你也可以通过 X-Mailgun-Variables
头向邮件附加自定义数据。数据应该格式化为 JSON,并将包含在任何与该电子邮件相关的 webhook 事件中。
from django.core.mail import EmailMessage
email = EmailMessage('Hi!', 'Cool message for Joe', 'admin@example.com', ['joe@example.com'])
email.extra_headers['X-Mailgun-Variables'] = {'my-id': 'email_id', 'my-variable':'variable'}
email.send()
请注意,django-mailgun 不会验证你提供的数据是否符合 Mailgun API 的要求,它只是简单地将你提供的值映射到 API。
4. 项目安装方式
请参考上文“安装指南”部分。
以上是关于 django-mailgun 的基本介绍和使用方法。如果你有任何问题或需要进一步的澄清,请随时查阅 Mailgun 的官方文档。
- mybatis-plusmybatis 增强工具包,简化 CRUD 操作。 文档 http://baomidou.com 低代码组件库 http://aizuda.comJava00
- open-eBackupopen-eBackup是一款开源备份软件,采用集群高扩展架构,通过应用备份通用框架、并行备份等技术,为主流数据库、虚拟化、文件系统、大数据等应用提供E2E的数据备份、恢复等能力,帮助用户实现关键数据高效保护。HTML054
- 每日精选项目🔥🔥 12.26日推荐:集成到 Windows 资源管理器中的批量文件转换器🔥🔥 每日推荐行业内最新、增长最快的项目,快速了解行业最新热门项目动态~~017
- Cangjie-Examples本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。Cangjie042
- 毕方Talon工具本工具是一个端到端的工具,用于项目的生成IR并自动进行缺陷检测。Python039
- PDFMathTranslatePDF scientific paper translation with preserved formats - 基于 AI 完整保留排版的 PDF 文档全文双语翻译,支持 Google/DeepL/Ollama/OpenAI 等服务,提供 CLI/GUI/DockerPython03
- advanced-javaAdvanced-Java是一个Java进阶教程,适合用于学习Java高级特性和编程技巧。特点:内容深入、实例丰富、适合进阶学习。JavaScript0102
- taro开放式跨端跨框架解决方案,支持使用 React/Vue/Nerv 等框架来开发微信/京东/百度/支付宝/字节跳动/ QQ 小程序/H5/React Native 等应用。 https://taro.zone/TypeScript09
- Yi-CoderYi Coder 编程模型,小而强大的编程助手HTML012
- excelizehttps://github.com/xuri/excelize Excelize 是 Go 语言编写的一个用来操作 Office Excel 文档类库,基于 ECMA-376 OOXML 技术标准。可以使用它来读取、写入 XLSX 文件,相比较其他的开源类库,Excelize 支持操作带有数据透视表、切片器、图表与图片的 Excel 并支持向 Excel 中插入图片与创建简单图表,目前是 Go 开源项目中唯一支持复杂样式 XLSX 文件的类库,可应用于各类报表平台、云计算和边缘计算系统。Go02