使用 Python 发送电子邮件:多行正文

Mon*_*ave 5 python email python-3.x

我正在寻找遍历索引并创建一个字符串以放入电子邮件正文。将在两个列表中的值之间进行比较,以确定是否要将它们添加到字符串中。

我需要将字符串显示在多行上(每次迭代都显示一个符合条件的行),但它目前将其作为实际电子邮件中的一行文本应用。

这是电子邮件定义:

def Emailer(message, subject, recipient):
    import win32com.client as win32   

    outlook = win32.Dispatch('outlook.application')
    mail = outlook.CreateItem(0)
    mail.To = recipient
    mail.Subject = subject
    mail.GetInspector 

    index = mail.HTMLbody.find('>', mail.HTMLbody.find('<body')) 
    mail.HTMLbody = mail.HTMLbody[:index + 1] + message + mail.HTMLbody[index + 1:]
    mail.Display()
Run Code Online (Sandbox Code Playgroud)

这部分用于创建字符串:

body = ""
for i, buyer in enumerate(buyers):
    priceO = pricesOLD[i]
    priceN = pricesNEW[i]
    if priceN > priceO:
      body = body + buyer + "\n"

if len(body) > 0:
  Emailer(body,'subject','email@address.co.uk')
else:
  print("No Matches")
Run Code Online (Sandbox Code Playgroud)

ale*_*lex 3

通过将\ns 替换为s 解决了该问题<br>