Skip to main content
 首页 » 编程设计

Python 无法向 Gmail 发送电子邮件

2024年09月07日33davidwang456

我有一个 python 脚本来发送电子邮件。我利用它向我的电子邮件和电话发送警报。但由于某种原因,发送到 gmail 帐户时收不到电子邮件。我看到我的代码与其他示例之间的最大区别是我无法使用 smtp.gmail.com。这是我的电子邮件/文本功能:

import smtplib 
 
sender = 'xxxx@company.com' 
smtpObj = smtplib.SMTP('smtp.company.com') 
 
def text_func ( subject,text_message ): 
    text_receivers = ['##########@vtext.com', 
        'xxxxxxxx@company.com', 
        'xxxxxxxx@gmail.com' 
    ] 
    text_message = """Subject: %s 
 
    %s 
    """ % (subject, text_message) 
 
    smtpObj.sendmail(sender, text_receivers, text_message) 

上面的代码可以将短信发送到我的手机和我的工作邮箱,但不能发送到 gmail。我检查并确保电子邮件没有出现在垃圾邮件文件夹中。谷歌似乎完全阻止了它。有什么想法吗?

请您参考如下方法:

我也遇到了同样的问题。当我从 webmail 检查我的收件箱时,我发现该电子邮件被 gmail 拒绝。 通过向电子邮件添加“发件人” header 解决了该问题。

import smtplib, ssl 
from email.mime.multipart import MIMEMultipart 
from email.mime.text import MIMEText 
 
sender_email = "test@example.com" 
receiver_email = "example@gmail.com" 
password = "pass1234" 
host = "example.com" 
port = 465 
message = MIMEMultipart("alternative") 
message["Subject"] = "Email Subject" 
message["From"] = sender_email 
message["To"] = receiver_email 
text = "This is the email Body" 
message.attach(MIMEText(text, "plain")) 
context = ssl.create_default_context() 
with smtplib.SMTP_SSL(host, port, context=context) as server: 
    server.login(sender_email, password) 
    server.sendmail( 
        sender_email, receiver_email, message.as_string() 
    )