2017-06-29 13 views
0

私はフラスコメールで作業しています。私は自分のメールにレンダリングされたHTMLを挿入したいと思います。Flask render_template()処理されていない生のHTMLを返します

コントローラー:

 msg = Message("test", sender='[email protected]', recipients=[user.get("email")]) 
     msg.body = render_template('/assets/views/emailing/notification.html', name=user.get("name")) 
     mail.send(msg) 

HTML:

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="UTF-8"> 
    <title>Title</title> 
</head> 
<body> 

{% if name %} 
    <h1>Hello {{ name }}!</h1> 
{% else %} 
    <h1>Hello, World!</h1> 
{% endif %} 

</body> 
</html> 

だから私は、レンダリングされた電子メールを期待する、またはテキストとしてではなく、置き換えキーで少なくともHTMLここ

コードです値によって。ここで

は、私が得たものである:

https://i.imgur.com/efDMyDM.png

何が起こっているかのいずれかの手がかり?

答えて

2

あなたがHTML形式の電子メールを送信すると、あなたがそうのように、代わりにbodyhtml属性を設定する必要があります。

html = render_template('/assets/views/emailing/notification.html', name=user.get("name")) 
msg = Message("test", sender='[email protected]', recipients=[user.get("email")], html=html) 
mail.send(msg) 
関連する問題