Tri*_*rik 7 python pdf email django mailgun
我正在尝试将我们的应用程序从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()
Run Code Online (Sandbox Code Playgroud)
然后附上并邮寄它:
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()
Run Code Online (Sandbox Code Playgroud)
效果很好......我们如何转换为Mailgun电话?
我尝试了各种各样的事情,包括将其作为文件原样传递(失败):
requests.post(mailgun_url, auth=("api", mailgun_api), data=data, files=attachment)
Run Code Online (Sandbox Code Playgroud)
以上工作正常,没有附件.数据包含,来自,o:标签......等.
任何帮助,将不胜感激.谢谢!
通过更改我的PDF代码并获取request.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])
Run Code Online (Sandbox Code Playgroud)
我可以通过更改我的 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]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1282 次 |
| 最近记录: |