2

我收到以下错误:

警告:web2py:Mail.send 失败:[Errno 11004] getaddrinfo 失败

对于以下代码:

mail = Mail()
mail.settings.server = 'smtp.gmail.com:587'
mail.settings.sender = 'email@gmail.com'
mail.settings.login = 'email@gmail.com:password'

mail.send(to=[email],subject= 'TEST',message='helloWorld')

有人可以帮助我吗?我似乎找不到任何关于 getaddrinfo 是什么以及代码中发生错误的位置的文档。

谢谢!

4

2 回答 2

0

我使用 smtplib 来做到这一点。

# here i check if i send succesfully.
server = smtplib.SMTP(HOST)
# server.login(username, password)  # optional
try:
    toaddr = TO
    cc = [CC]
    bcc = ['']
    toaddrs = [toaddr] + cc + bcc
    failed = server.sendmail(FROM, toaddrs, msg.as_string())
    server.close()
    statusemail= "Email enviado com sucesso para %s" % TO
    print statusemail
    return statusemail
except Exception, e:
    errorMsg = "Unable to send email. Error: %s" % str(e)
    return errorMsg
##############################################################
#example code to test smtplib
import smtplib
# Specifying the from and to addresses
fromaddr = 'fromuser@gmail.com'
toaddrs  = 'touser@gmail.com'
# Writing the message (this message will appear in the email)
msg = 'Enter you message here'
# Gmail Login
username = 'username'
password = 'password'
# Sending the mail  
server = smtplib.SMTP('smtp.gmail.com:587')
server.starttls()
server.login(username,password)
server.sendmail(fromaddr, toaddrs, msg)
server.quit()

在此处输入图像描述

来源:链接

于 2014-08-15T19:26:31.847 回答
0

这是您计算机网络设置的问题。这不是您的代码的问题。

关于getaddrinfo 这里的信息

如果您在类似 linux/unix 的系统上 - 您可以尝试nslookup smtp.gmail.com

于 2015-01-16T10:06:00.313 回答