要使用循环从CSV中的列中提取值,并在Python中将它们用于电子邮件正文,可以按照以下步骤进行操作:
import csv
import smtplib
from email.mime.text import MIMEText
with open('data.csv', 'r') as file:
reader = csv.reader(file)
data = list(reader)
这里假设CSV文件名为"data.csv",可以根据实际情况修改。
template = """
Dear {name},
Thank you for your interest in our product. We are pleased to inform you that {product} is now available.
Best regards,
Your Company
"""
这是一个简单的模板,使用了占位符"{name}"和"{product}",稍后会用实际的值替换它们。
for row in data:
name = row[0]
product = row[1]
# 创建电子邮件正文
email_body = template.format(name=name, product=product)
# 发送电子邮件
msg = MIMEText(email_body)
msg['Subject'] = 'New Product Announcement'
msg['From'] = 'sender@example.com'
msg['To'] = 'recipient@example.com'
# 使用SMTP服务器发送邮件
smtp_server = 'smtp.example.com'
smtp_port = 587
smtp_username = 'your_username'
smtp_password = 'your_password'
with smtplib.SMTP(smtp_server, smtp_port) as server:
server.starttls()
server.login(smtp_username, smtp_password)
server.send_message(msg)
在每次循环中,从CSV数据中提取姓名和产品,并使用模板替换电子邮件正文中的占位符。然后,创建MIMEText对象作为电子邮件的正文,并设置主题、发件人和收件人。最后,使用SMTP服务器发送电子邮件。
请注意,上述代码中的SMTP服务器、端口、用户名和密码需要根据实际情况进行修改。
这是一个基本的示例,你可以根据实际需求进行修改和扩展。
领取专属 10元无门槛券
手把手带您无忧上云