【问题标题】:Send images by email通过电子邮件发送图像
【发布时间】:2018-09-20 02:53:11
【问题描述】:

我想通过电子邮件以 html 格式发送图像,但是当我看到邮件时,图像已损坏,这是我的代码的一部分:

data = {
        'image_url': cms.image.url,
       }
subject = 'Recibo de Pago - Shamosh Palombo'
email_body = render_to_string(
    'mails/supplier_receipt_html.html',
    {'data': data, }
)
msg = email_body
headers = {'Reply-To': "contacto@comuna18.com"}
TO = 'mauricio.munguia@comuna18.com'
mail = EmailMessage(subject, msg, 'contacto@comuna18.com', [TO], headers=headers)
mail.content_subtype = "html"
mail.send()

在模板中我的代码是这样的:

<img src="data.image_url" style="width:200px">

【问题讨论】:

  • 您想将图片嵌入到电子邮件中以便可以看到,还是只想将图片显示为附件?
  • 我想将图像嵌入到电子邮件中,以便用户看到它。

标签: python django python-3.x python-2.7 django-views


【解决方案1】:

要在电子邮件中嵌入图像,请遵循以下代码。我刚刚添加了基本代码 sn-p。请导入所需的导入。

views.py

from email.mime.image import MIMEImage

mail = EmailMessage(subject, msg, 'contacto@comuna18.com', [TO], headers=headers)
image = MIMEImage(cms.image.open().read())
image.add_header('Content-ID', '<embed_image>')
mail.attach(image)

template.html

<img src="cid:embed_image" style="width:200px">

【讨论】:

  • 终端向我显示此错误“ModuleNotFoundError: No module named 'email.MIMEImage'”并且我安装了电子邮件,但错误不会发生
  • “从 email.mime.image 导入 MIMEImage”出现的错误
【解决方案2】:

我相信你会想要的

{{ data.image_url }}

在您的模板中。

例子:

<img src="{{ data.image_url }}" style="width:200px">

我希望这会有所帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-24
    • 2018-04-08
    • 1970-01-01
    • 1970-01-01
    • 2022-08-18
    • 2015-10-26
    • 1970-01-01
    • 2013-02-21
    相关资源
    最近更新 更多