我尝试使用 Python 脚本发送电子邮件,但尽管没有错误消息,但电子邮件并未发送。以下是经过编辑的敏感信息的相关代码:
import pandas as pd
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
# Read data from Excel file
excel_file = "C:\\Users\\YourUsername\\Downloads\\AAAAAA.xlsx"
df = pd.read_excel(excel_file)
# Retrieve email addresses from columns 1 and 2
email_addresses = df.iloc[:, 0].values.flatten()
# Email account credentials
sender_email = "*******@gmail.com"
sender_password = "********" #
# Additional details for email content
subject = "Greetings"
body = "Hello, sir"
# Connect to the SMTP server
with smtplib.SMTP("smtp.gmail.com", 587) as server:
server.starttls()
server.login(sender_email, sender_password)
# Send the email to each recipient
for email_address in email_addresses:
msg = MIMEMultipart()
msg['From'] = sender_email
msg['To'] = email_address
msg['Subject'] = subject
msg.attach(MIMEText(body, 'plain'))
server.sendmail(sender_email, email_address, msg.as_string())
# Close the SMTP session
server.quit()
尽管代码执行看似正确,但电子邮件并未发送,也没有收到错误消息。我已验证电子邮件凭据的准确性,检查 SMTP 服务器和端口,并确认电子邮件地址有效。此外,我还为 Gmail 帐户启用了双因素身份验证,并专门为此脚本生成了应用程序密码。任何有关可能导致此问题的原因的见解将不胜感激。
运行脚本,获取电子邮件
Gmail 对发送电子邮件有非常严格的控制。您必须在设置中启用“不太安全的应用程序”,即使如此,我在让它工作时也遇到了很大的麻烦。