【发布时间】:2013-04-12 14:30:11
【问题描述】:
我已经使用 django send_mail 很长时间了。但是在一个使用 django 1.4 的新项目中,我改变了我的开发机器,我遇到了一个非常奇怪的问题。
当我使用所有设置(EMAIL_HOST='localhost' EMAIL_PORT=25 等)在标准后端调用 send_mail 时,出现错误:
File "c:\python27\lib\site-packages\django\core\mail\backends\smtp.py", line 4
8, in open local_hostname=DNS_NAME.get_fqdn())
File "c:\python27\lib\smtplib.py", line 249, in __init__
(code, msg) = self.connect(host, port)
File "c:\python27\lib\smtplib.py", line 309, in connect
self.sock = self._get_socket(host, port, self.timeout)
File "c:\python27\lib\smtplib.py", line 284, in _get_socket
return socket.create_connection((port, host), timeout)
File "c:\python27\lib\socket.py", line 571, in create_connection
raise err
socket.error: [Errno 10013] An attempt was made to access a socket in a way forb
idden by its access permissions
我不知道我做错了什么,我已经调试过了,似乎连接函数接收了正确的端口和主机,但是它被禁止了。我怀疑它可能是我的杀毒软件,但禁用它并没有帮助。
如果有人认为这是问题所在,我会以管理员权限运行(禁用 UAC)。
【问题讨论】:
-
您的帐户凭据有效吗?一定有什么改变了。
-
你可以从命令行连接吗?不使用django?
telnet localhost 25 -
是的,可以使用telnet访问这个端口。