我正在用python測驗發送電子郵件,但我無法從一個csv檔案中發送多封電子郵件。
這個CSV檔案看起來像這樣
下面是我的代碼:
import smtplib, ssl
port = 587 # 用于starttls
smtp_server = "smtp.gmail.com"
login = "[email protected]"/span>
密碼 = input("輸入密碼并按下回車鍵:")
message = "" "主題。訂單確認
致。{收件人}
來自。{發件人}
嗨,{姓名},感謝您的訂單!我們正在處理您的訂單。我們現在正在處理,并將很快與您聯系""。
sender = "[email protected]"/span>
context = ssl.create_default_context()
with smtplib.SMTP(smtp_server, port) as server:
server.connect()
server.ehlo() # 可以省略。
server.starttls(context=context)
server.ehlo() # 可以省略。
server.login(login, password)
with open("contacts.csv") as file:
reader = csv.reader(file)
next(reader) # 它跳過了標題行。
for name, email in reader:
server.sendmail(
發件人。
電子郵件。
message.format(name=姓名, recipient=電子郵件, sender=發件人)
)
print(f'Sent to {name}'/span>)
我得到的錯誤是:
SMTPServerDisconnected: please run connect() first
uj5u.com熱心網友回復:
我認為這段代碼有問題。
代碼:
server.connect()
server.ehlo() # 可以省略。
server.starttls(context=context)
server.ehlo() # Can be omitted
server.login(login, password)
完整的代碼應該是這樣的:
import smtplib, ssl
port = 587 # 用于starttls
smtp_server = "smtp.gmail.com"
login = "[email protected]"/span>
密碼 = input("輸入密碼并按下回車鍵:")
message = "" "主題。訂單確認
致。{收件人}
來自。{發件人}
嗨,{姓名},感謝您的訂單!我們正在處理您的訂單。我們現在正在處理,并將很快與您聯系""。
sender = "[email protected]"/span>
context = ssl.create_default_context()
with smtplib.SMTP(smtp_server, port) as server:
server.connect('smtp.gmail.com'/span>, '587')
server.ehlo() # 可以省略。
server.starttls(context=context)
server.ehlo() # 可以省略。
server.login(login, password)
with open("contacts.csv") as file:
reader = csv.reader(file)
next(reader) # 它跳過了標題行。
for name, email in reader:
server.sendmail(
發件人。
電子郵件。
message.format(name=姓名, recipient=電子郵件, sender=發件人)
)
print(f'Sent to {name}'/span>)
如果不作業,請告訴我
。轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/313428.html
標籤:
上一篇:谷歌腳本--發送電子郵件提醒
