我正在测试用python发送电子邮件,但我不能从csv文件发送多个电子邮件。
CSV文件如下所示
<表类>
名称
邮件
tbody><<tr>name1 example@gmail.com name2 另一个# gmail.com 表类>
我认为这段代码有问题。
代码:
server.connect()
server.ehlo() # Can be omitted
server.starttls(context=context)
server.ehlo() # Can be omitted
server.login(login, password)
完整代码如下所示:
import smtplib, ssl
port = 587 # For starttls
smtp_server = "smtp.gmail.com"
login = "joo123456h@gmail.com"
password = input("Type your password and press enter:")
message = """Subject: Order confirmation
To: {recipient}
From: {sender}
Hi {name}, thanks for your order! We are processing it now and will contact you soon"""
sender = "new@example.com"
context = ssl.create_default_context()
with smtplib.SMTP(smtp_server, port) as server:
server.connect('smtp.gmail.com', '587')
server.ehlo() # Can be omitted
server.starttls(context=context)
server.ehlo() # Can be omitted
server.login(login, password)
with open("contacts.csv") as file:
reader = csv.reader(file)
next(reader) # it skips the header row
for name, email in reader:
server.sendmail(
sender,
email,
message.format(name=name, recipient=email, sender=sender)
)
print(f'Sent to {name}')
如果不工作请告诉我