簡體   English   中英

使用django-mail-queue在Django中發送帶有內聯圖像的郵件

[英]Send mail with Inline images in Django using django-mail-queue

我想以郵件內容發送內嵌促銷圖像,例如電子商務網站發送其郵件。 對於郵寄,我使用了django-mail-queue軟件包,但我不知道它是否受支持。 如果您能幫助我,我將不勝感激。

另一個問題是電子郵件接收者無法訪問托管django應用程序的服務器,因此我不能簡單地在django模板中提供圖像URL。

您可以將圖像作為上下文發送,然后將它們作為模板傳遞。 像這樣:

from django.core.mail import EmailMessage
from django.template import Context
from django.template.loader import get_template

def some_view(request):
    template = get_template('myapp/email.html')
    image_url ="static/images/sample_image.jpg"
    context = Context({'user': user, 'other_info': info,'image_url':image_url})
    content = template.render(context)
    if not user.email:
        raise BadHeaderError('No email address given for {0}'.format(user))
    msg = EmailMessage(subject, content, from, to=[user.email,])
    msg.send()

然后,在模板myapp / email.html中 ,使用以下命令:

<img src="{{ image_url }}" ...>

並且,如果電子郵件接收者無法訪問服務器端圖像,則可以將圖像作為附件發送,但不能達到目的,為了實際顯示圖像,img src需要一個用於存儲實際圖像的源URL。

您可以將圖像托管在任何其他圖像托管網站上,並將該URL放在image_url變量中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM