【问题标题】:if statement inside html email pythonhtml电子邮件python中的if语句
【发布时间】:2018-01-11 11:31:53
【问题描述】:

我正在使用 MIME Multipart 编写 HTML 格式的电子邮件并使用 smtplib 发送,并且希望仅在条件评估为真时才包含一个句子。基本上是这样的

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 (value = 1),后面的句子应该写成else if value = 0,不应该出现 .任何关于我如何用 python 做到这一点的指针都将不胜感激。

【问题讨论】:

  • empanelled 是 Python 变量吗?
  • 您应该使用合适的模板解决方案,例如 Jinja2。
  • 是的,empaneled是一个python变量

标签: python mime


【解决方案1】:

如前所述,您应该使用Jinja2 之类的内容。但是,除非我误解了您的问题,否则您在 python 中有 empanelled 变量。为什么不像这样评估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="")

虽然,一些模板语言方法仍然会更好。

【讨论】:

  • 感谢您的解决方案和指点。这巧妙地解决了它:)
  • 太棒了!,@AdityaGanguli 如果它适合你,请接受答案!
【解决方案2】:

类似这样的:

    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>"""`

【讨论】:

  • 感谢您的快速回复。使用了类似于你的答案的东西。
猜你喜欢
  • 1970-01-01
  • 2011-06-15
  • 2015-08-06
  • 1970-01-01
  • 2013-08-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多