尝试脚本thaat发送邮件时出现以下错误
import urllib.request
import re
import smtplib
from email.mime.text import MIMEText
from bs4 import BeautifulSoup
page=urllib.request.urlopen("http://www.crummy.com/")
soup=BeautifulSoup(page)
v=soup.findAll('a',href=re.compile('http://www.crummy.com/2012/07/24/0'))
for link in v:
w=link.get('href')
server = smtplib.SMTP( "smtp.gmail.com", 587 )
server.starttls()
server.login( 'xxxxxxxxxxx', 'xxxxxxx' )
server.sendmail( 'xxxxxxxxx', 'xxxxxxxxx', "bonus question is up" )
追溯(最近一次通话):文件“ C:\ Python32 \ bonus”,第14行
在服务器中= smtplib.SMTP(“ smtp.gmail.com”,587)文件
初始化文件中的“ C:\ Python32 \ lib \ smtplib.py”行259
连接中的“ C:\ Python32 \ lib \ smtplib.py”,第319行
self.sock = self._get_socket(主机,端口,self.timeout)文件“ C:\ Python32 \ lib \ smtplib.py”,第294行,在_get_socket中
返回socket.create_connection((host,port),timeout)文件“ C:\ Python32 \ lib \ socket.py”,行386,在create_connection中
对于getaddrinfo(主机,端口,0,SOCK_STREAM)中的res:socket.gaierror:[Errno 11004] getaddrinfo在
绕过它的最佳方法
最佳答案
getaddrinfo
函数具有以下目的:
getaddrinfo函数提供从ANSI主机名到地址的与协议无关的转换。
如果失败,则意味着它无法将您给定的主机名转换为相应的地址。本质上是在进行DNS查询。getaddrinfo
返回的错误号“ 11004”与此错误相关:
有效名称,没有所请求类型的数据记录。要求的名称是
有效并且在数据库中找到,但是没有正确的
相关数据正在解决。通常的例子是
主机名到地址的转换尝试(使用gethostbyname或
WSAAsyncGetHostByName),它使用DNS(域名服务器)。 MX
返回记录但没有A记录-表示主机本身存在,
但无法直接到达。
您正在查找的名称似乎没有与之关联的正确数据。
您确定您的网址正确吗?
链接:getaddrinfo
:http://msdn.microsoft.com/en-us/library/windows/desktop/ms738520(v=vs.85).aspx
WinSock错误代码:http://msdn.microsoft.com/en-us/library/windows/desktop/ms740668(v=vs.85).aspx
关于python - 发送邮件错误python,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12494977/