gpt4 book ai didi

python - 在 Mailgun 消息 Django/Python 中附加生成的 PDF

转载 作者:太空狗 更新时间:2023-10-29 21:55:03 27 4
gpt4 key购买 nike

我正在尝试将我们的应用程序从 python 邮件切换到 Mailgun,但在处理带有附件的电子邮件时遇到了问题。特别是应用程序生成的 PDF(未存储在文件系统中)。

发送没有附件的电子邮件没有问题。

目前我们生成的 PDF 是这样的:

pdf = StringIO()
draw_pdf(pdf, params)
pdf.seek(0)
attachment = MIMEApplication(pdf.read())
attachment.add_header("Content-Disposition", "attachment", filename=filename)
pdf.close()

然后按原样附加并邮寄:

from django.core.mail import EmailMultiAlternatives
msg = EmailMultiAlternatives(subject, text_content, from_email, to_email)

if html_content:
msg.attach_alternative(html_content, "text/html")

if attachment:
msg.attach(attachment)

msg.send()

效果很好...我们如何转换为 Mailgun 调用?

我已经尝试过各种方法,包括按原样将其作为文件传递(未成功):

requests.post(mailgun_url, auth=("api", mailgun_api), data=data, files=attachment)

以上内容在没有附件的情况下工作正常。 data 包含 to, from, o:tags...等

如有任何帮助,我们将不胜感激。谢谢!

编辑

我能够通过更改我的 PDF 代码并正确构建 requests.post 来让它工作:

filename = "pdf_attachment.pdf"
pdf = StringIO()
draw_pdf(pdf, params)
pdf.seek(0)

attachment = ("attachment", (filename, pdf.read()))

r = requests.post(mailgun_url, auth=("api", mailgun_api), data=data, files=[attachment])

最佳答案

我能够通过更改我的 PDF 代码并正确构建 requests.post 来让它工作:

filename = "pdf_attachment.pdf"
pdf = StringIO()
draw_pdf(pdf, params)
pdf.seek(0)

attachment = ("attachment", (filename, pdf.read()))

r = requests.post(mailgun_url, auth=("api", mailgun_api), data=data, files=[attachment]

关于python - 在 Mailgun 消息 Django/Python 中附加生成的 PDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26552019/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com