【问题标题】:Python preppy producing offensive leading blank linePython preppy 产生进攻性的前导空白行
【发布时间】:2015-01-10 07:41:05
【问题描述】:

我正在尝试使用 preppy 对一些电子邮件消息进行模板化,但它会插入一个前导空白行,这会导致 SMTP 将所有内容视为消息正文而不是标题。在独立测试中,我使用以下 python 代码:

import preppy

premsg = preppy.getModule('email.prep')
print "========================================="
print premsg.get("sender@example.com", "recipient@example,com", "Message Subject", "https://followthislink.com/qwertyuiopp")
print "========================================="

这个模板存储在 email.prep 中

{{def(prepToAddr, prepFromAddr, prepSubject, prepLink)}}
To: {{prepToAddr}}
From: "{{prepFromAddr}}
Subject: {{prepSubject}}

Click this link to confirm your email address: {{prepLink}}

运行时是这样的:

(email)tahaan@Komputer:~/Projects/email$ python prep1.py 
=========================================

To: sender@example.com
From: "recipient@example,com
Subject: Message Subject

Click this link to confirm your email address: https://followthislink.com/qwertyuiopp
=========================================
(email)tahaan@Komputer:~/Projects/email$ 

我应该删除前导空白行并继续使用它,还是我应该做一些不同的事情来获得正确的输出?

【问题讨论】:

    标签: python templating smtplib


    【解决方案1】:

    要做到这一点,您需要更改模板以消除 {{def()}} ie 末尾的 eol

    {{def(prepToAddr, prepFromAddr, prepSubject, prepLink)}}To: {{prepToAddr}}
    From: "{{prepFromAddr}}
    Subject: {{prepSubject}}
    
    Click this link to confirm your email address: {{prepLink}}
    

    要消除最后的 eol,您需要一个不添加 eol 的编辑器,例如 Vim no end of line on last line or eof

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-03-25
      • 1970-01-01
      • 2014-06-17
      • 1970-01-01
      • 1970-01-01
      • 2020-10-28
      • 2014-08-07
      相关资源
      最近更新 更多