未使用 Python smtplib 和 Gmail 发送电子邮件:未收到错误消息

问题描述 投票:0回答:1

我尝试使用 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 帐户启用了双因素身份验证,并专门为此脚本生成了应用程序密码。任何有关可能导致此问题的原因的见解将不胜感激。

运行脚本,获取电子邮件

python smtp
1个回答
0
投票

Gmail 对发送电子邮件有非常严格的控制。您必须在设置中启用“不太安全的应用程序”,即使如此,我在让它工作时也遇到了很大的麻烦。

© www.soinside.com 2019 - 2024. All rights reserved.