Web2Py IOError:[Errno套接字错误] [Errno 11004] getaddrinfo发送电子邮件失败错误

时间:2014-05-15 12:58:46

标签: python email gmail web2py getaddrinfo

我收到了以下错误:

警告: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是什么以及错误发生在代码中的位置的任何文档。

谢谢!

2 个答案:

答案 0 :(得分: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()

enter image description here

来源:link

答案 1 :(得分:0)

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

有关getaddrinfo here

的信息

如果您使用的是类似Linux / unix的系统,则可以尝试nslookup smtp.gmail.com