1

djangoヘルパーメソッドsend_mailを使用していますが、これが問題になる可能性がありますが、それが当てはまるかどうかはドキュメントからわかりません。

だから-これが私の方法です:

send_mail('Alert!', theEmail.format(user.username),'admin@site.com',
        [user.email], fail_silently=False)

そして、Eメールは次のようになります。

theEmail = "" "こんにちは{0}!
ここにアラートメールがあります
そしてここにリンクがあります:時間内のリンク

しかし、このコードを実行すると、メールは正常に送信されますが、Gmailでは、メッセージはすべてのタグが表示された状態で印刷されます。

私がやろうとしている「htmlとして送信」するようなものはありますか?

4

3 に答える 3

4

次のようなものを試してください:

from django.core.mail import EmailMessage

msg = EmailMessage(subject, html, from_email, [recipients])
msg.content_subtype = 'html'
msg.send()
于 2012-09-28T03:41:46.557 に答える
1

Djangoの組み込み関数のいくつかを試して、送信する前にhtml文字列をエスケープすることができます(Gmailが自分でエスケープ/エスケープ解除を行う場合があります)。例:

from django.utils.safestring import mark_for_escaping
my_html = mark_for_escaping(my_raw_html)

また

from django.utils.safestring import mark_safe
my_html = mark_safe(my_raw_html)

send_mail「htmlとして送信」などの機能はサポートしていません。

于 2012-09-28T02:49:47.553 に答える
1

html_message引数を使用してみてください:

send_mail('Alert!', '', 'admin@site.com', [user.email], html_message=theEmail.format(user.username), fail_silently=False)
于 2017-11-19T18:22:12.087 に答える