【发布时间】:2018-02-17 22:21:45
【问题描述】:
当我发送电子邮件时,纯文本没有换行。我读到您不能在一行中包含超过 80 个字符,否则 Gmail 会自动中断,这会使文本在手机上看起来很糟糕。我将“html”作为 MIMETEXT() 中的第二个参数。这将包装文本,但不包含任何 Python 转义字符。我不知道如何换行?
代码: 我使用 'html' 参数设置 MIMEText,这似乎包装了文本,但是在一个没有使用任何 Python 转义字符的块中。
def CreateMessageHtml(sender, to, subject, message_text):
msg = MIMEText(message_text,'html')
msg['Subject'] = subject
msg['From'] = sender
msg['To'] = to
return {'raw': base64.urlsafe_b64encode(msg.as_string())}
问题出在 message_text 中,不确定如何创建换行符,因为 \n 不起作用。
def main():
df = pd.read_csv('testdata.csv')
for index,row in df.iterrows():
to = row['Email']
sender = "sender"
subject = "subject"
dedent_text = '''Hello {}, \n
Thank you for attending our last meeting. We would
like to see you again at our next event.'''.format(row['First'])
message_text = textwrap.dedent(dedent_text).strip()
SendMessage(sender, to, subject, message_text)
if __name__ == '__main__':
main()
【问题讨论】:
-
多行字符串应该自动包含换行符