2017-08-03 10 views
0

私はMIMEマルチパートを使用してHTMLで電子メールを作成し、smtplibを使用して送信し、条件がtrueと評価された場合にのみ文を挿入します。基本的にはif文中のhtml電子メールpython

html = """\ 
    <html> 
     <body> 
     Hi {name}<br> 
     Hope you are doing well. 
      **<% if {empanelled}: %>** 
       <br> We are already empanelled with your company<br> 

     </body> 
    </html> 
    """.format(name=firstname, empanelled = empanelled) 

のようなもの、私たちがempaneledされている場合(値= 1)値= 0は、 に表示されてはならない場合は、この次の文は、他に記述する必要があります。どのように私はこれをPythonで行うことができるかについての指針は非常に高く評価されます。

+0

は 'Pythonの変数をempanelled'ていますか? – Barmar

+1

Jinja2などの適切なテンプレートソリューションを使用する必要があります。 –

+0

はい、empaneledはPython変数 –

答えて

3

前述のように、Jinja2のようなものを使用する必要があります。しかし、私があなたの質問を誤解していない限り、Pythonにはempanelledという変数があります。なぜ、jusは以下のようにPythonで条件付きを評価していないのですか?

html = """\ 
    <html> 
     <body> 
     Hi {name}<br> 
     Hope you are doing well. 
      {additional_message} 
     </body> 
    </html> 
    """ 

if empanelled: 
    return html.format(name=firstname, additional_message="<br> We are already empanelled with your company<br>") 
else: 
    return html.format(name=firstname,additional_message="") 

しかし、いくつかのテンプレート言語のアプローチはまだまだ良いでしょう。このような

+0

です。ソリューションとポインタをありがとう。これはきれいにそれを解決します:) –

+0

恐ろしい!, @AdityaGanguliはあなたのために動作する場合、答えを受け入れてください! – modesitt

0

何か:

if empanelled: 
     empanelledtxt= "<br> We are already empanelled with your company<br>" 
    else: 
     empanelledtxt="" 
    html=html = """\ 
     <html> 
      <body> 
      Hi {name}<br> 
      Hope you are doing well.""".format(name=firstname)+empanelledtxt+"""</body></html>"""` 
+0

迅速な対応に感謝します。 urの答えに類似したものを使用しました。 –

関連する問題