You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用f-string循环列表并在HTML格式邮件中展示内容

遍历姓名列表生成HTML邮件内容

你可以通过遍历姓名列表生成对应HTML片段的方式实现需求,直接替换原代码中单个name对应的HTML部分即可。以下是修改后的完整可运行代码:

import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart

sender = 'abc@gmail.com'
receiver = 'xyz@gmail.com'

# 初始化多格式邮件容器(原代码需补充此部分,否则无法正常附加HTML内容)
msg = MIMEMultipart()
msg['Subject'] = "Email Subject"
msg['From'] = sender
msg['To'] = receiver

# 目标姓名列表
names = ['Tom', 'Jack', 'Peter']

# 遍历列表生成每个姓名对应的HTML段落标签
html_segments = [f"<p>Name: {name}</p>" for name in names]
# 拼接成完整的HTML内容
html = '\n'.join(html_segments)

send_msg = MIMEText(html, 'html')
msg.attach(send_msg)

# 发送邮件
s = smtplib.SMTP('localhost')
s.sendmail(sender, receiver, msg.as_string())
s.quit()

核心修改点:

  • 用列表推导式遍历姓名列表,为每个姓名生成对应的<p>标签片段
  • 通过'\n'.join()将所有片段拼接成完整HTML,保证邮件内容按预期分行显示
  • 补全了MIMEMultipart对象的初始化(原代码缺失此部分,会导致附加HTML内容时报错)

内容的提问来源于stack exchange,提问作者Edgar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 00:54:10