无法创建与谷歌服务器的SMTP会话
问题描述:
我正在学习python 3.6.0,我试图创建一个电子邮件客户端。 我从书中复制了代码,但它不起作用。 我得到这个错误:无法创建与谷歌服务器的SMTP会话
“TimeoutError:WinError 10060]连接尝试失败,因为连接的方没有正确一段时间后响应或已建立connectioñ失败,因为连接的主机没有反应”
这是我的代码:
#!/usr/bin/env python3
# Listing 2
import getpass
import smtplib
from email.mime.image import MIMEImage
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
SMTP_SERVER = 'smtp.gmail.com'
SMTP_PORT = 587 # ssl port 465, tls port 587
def send_email(sender, recipient):
""" Send email message """
msg = MIMEMultipart()
msg['To'] = recipient
msg['From'] = sender
msg['Subject'] = input('Enter your email subject: ')
message = input('Enter your email message. Press Enter when finished. ')
part = MIMEText('text', "plain")
part.set_payload(message)
msg.attach(part)
# create smtp session
session = smtplib.SMTP(SMTP_SERVER, SMTP_PORT)
session.set_debuglevel(1)
session.ehlo()
session.starttls()
session.ehlo
password = getpass.getpass(prompt="Enter you email password:")
# login to server
session.login(sender, password)
# send mail
session.sendmail(sender, recipient, msg.as_string())
print("You email is sent to {0}.".format(recipient))
session.quit()
if __name__ == '__main__':
sender = input("Enter sender email address: ")
recipient = input("Enter recipeint email address: ")
send_email(sender, recipient)
任何人可以帮助?我错在哪里? 在此先感谢:)
答
我试图运行您的代码,它似乎工作正常(我用我的帐户凭据发送电子邮件)。你应该检查你的互联网连接和防火墙。
谢谢。我的连接似乎工作,我禁用防火墙,但仍然有这个错误。将继续调查... – Matt