使用 Python 和 smtplib 在电子邮件正文中显示列表内容

Displaying contents of list in body of email with Python and smtplib

我想遍历列表并在我的电子邮件中将每个项目显示在单独的行中。

如果我设置 body = "Just a string"

,代码工作正常
mylist = [first line,second line,third line,fourth line]

fromaddr = "EMAIL"
toaddr = "EMAIL"
msg = MIMEMultipart()
msg['From'] = fromaddr
msg['To'] = toaddr
msg['Subject'] = "EMAIL SUBJECT"

body = mylist
msg.attach(MIMEText(body, 'plain'))

server = smtplib.SMTP('smtp.gmail.com', 587)
server.ehlo()
server.starttls()
server.ehlo()
server.login("EMAIL", "PASSWORD")
text = msg.as_string()
server.sendmail(fromaddr, toaddr, text)

我试着将 body = 添加到我的列表中,只是为了看看它当前的样子,但我收到以下错误:_text.encode('us-ascii')
AttributeError: 'list' 对象没有属性 'encode'

我最终想要的是电子邮件的正文看起来是这样的(当我收到电子邮件时):

第一行
第二行
第三行
第四行

感谢 Michael Butscher 在正确方向上的推动。

这样就可以了。

body = "\r\n".join(mylist)