使用 python 2 和 smtplib 发送电子邮件时出错

Got an error by sending emails using python 2 and smtplib

编辑:主要错误是当此脚本从不同的 IP / Wifi 或其他任何地方运行时。它会像跳过它或其他任何东西一样取消它。

我正在尝试发送一封包含说明内容的电子邮件。 (或者我可以插入一个变量,例如:score = 32,我会把 'score' 放在没有 ' ' 的 body 中。)

以下代码是我正在使用的代码:

import smtplib

gmail_user = 'name@gmail.com'  
gmail_password = 'password'

sent_from = gmail_user  
to = 'me@gmail.com'  
subject = 'OMG Super Important Message'  
body = 'blah blah blah this is a message' 

email_text = """\  
From: %s  
To: %s  
Subject: %s

%s
""" % (sent_from, ", ".join(to), subject, body)

try:  
    server = smtplib.SMTP_SSL('smtp.gmail.com', 465)
    server.ehlo()
    server.login(gmail_user, gmail_password)
    server.sendmail(sent_from, to, email_text)
    server.close()

    print 'Email sent!'
except:  
    print 'Something went wrong...'

所以在它说 'body' 的地方,我可以像变量一样放置,而不仅仅是文本,它会发送。但是现在,

当我将程序发送给某人并且他们执行了直到此为止的步骤时,脚本将跳过它,因为打印 'loaded successful' 不会打印,这意味着它不起作用。关于如何修复的任何帮助?

您将enable less secure apps以便通过smtplib访问您的gmail帐户。


允许安全性较低的应用访问您的帐户

如果某个应用或设备不符合我们的安全标准,Google 将阻止任何尝试从该应用或设备登录的人。由于这些应用和设备更容易被侵入,阻止它们有助于保护您的帐户安全。

一些不支持最新安全标准的应用示例包括:

  • iPhone 或 iPad 版本 6 或以下版本的邮件应用程序
  • 您的 Windows phone 8.1 版本之前的邮件应用程序
  • 一些桌面邮件客户端,例如 Microsoft Outlook 和 Mozilla Thunderbird

更改安全性较低的应用的帐户访问权限

为了帮助提高 Google 工作、学校或其他团体帐户的安全性,我们阻止了一些安全性较低的应用程序使用它们。如果您拥有此类帐户,您将在尝试登录时看到 "Password incorrect" 错误。如果是这样,您有两个选择:

  • 选项 1:安装使用更强大安全措施的更安全的应用程序。所有 Google 产品(例如 Gmail)都使用最新的安全措施。
  • 选项 2:更改您的设置以允许安全性较低的应用进入您的帐户。我们不建议使用此选项,因为它会使他人更容易侵入您的帐户。如果您仍要允许访问,请按照以下步骤操作:
    1. 前往 "Less secure apps" section of my Account.
    2. 开启允许安全性较低的应用程序。 (注意:如果您的管理员锁定了不太安全的应用程序帐户访问权限,则此设置将被隐藏。)

如果您仍然无法登录您的帐户,learn more about the "password incorrect" error