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

时间:2018-05-12 21:59:32

标签: python python-2.7 smtplib

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

我试图发送一封带有文字说明内容的电子邮件。 (或者我可以插入一个变量,例如:score = 32,我会在没有''的情况下将'得分在...中。)

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

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'我可以把它变成一个变量,而不仅仅是一个文本,它会发送。但现在,

当我向某人发送程序时,他们会执行这些步骤,然后脚本将跳过它,因为打印已成功加载#39;一个人不会打印意味着它没有工作。有关如何修复的任何帮助吗?

1 个答案:

答案 0 :(得分:1)

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

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

如果某个应用或设备不符合我们的安全标准,Google会阻止任何试图通过该应用或设备登录的用户。由于这些应用和设备更易于破解,因此阻止它们有助于确保您的帐户安全。

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

  • iPhone或iPad上版本为6或以下的邮件应用
  • 8.1版本之前的Windows手机上的邮件应用
  • 某些桌面邮件客户端,如Microsoft Outlook和Mozilla Thunderbird

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

为了确保Google帐户在工作,学校或其他群体中更安全,我们会阻止某些不太安全的应用使用它们。如果您有此类帐户,则在尝试登录时会看到“密码不正确”错误。如果有,您有两种选择:

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

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