gpt4 book ai didi

django - 使用 gevent socket.py 时无法使用 Django 连接到 smtp 服务器

转载 作者:行者123 更新时间:2023-12-02 07:14:49 26 4
gpt4 key购买 nike

我正在使用 gevent 在 Gunicorn 0.12.2 上运行 django 应用程序,并安装在 virtualenv 环境中。当我尝试连接到 smtp.gmail.com(django-registration 创建帐户 View )时,出现以下错误:

Traceback:
File "/home/.../env/lib/python2.6/site-packages/django/core/handlers/base.py" in get_response
111. response = callback(request, *callback_args, **callback_kwargs)
File "/home/.../web/www/registration/views.py" in register
148. new_user = form.save(profile_callback=profile_callback)
File "/home/.../web/www/registration/forms.py" in save
87. profile_callback=profile_callback)
File "/home/.../web/www/registration/models.py" in create_inactive_user
127. send_mail(subject, message, settings.DEFAULT_FROM_EMAIL, [new_user.email])
File "/home/.../env/lib/python2.6/site-packages/django/core/mail/__init__.py" in send_mail
61. connection=connection).send()
File "/home/.../env/lib/python2.6/site-packages/django/core/mail/message.py" in send
251. return self.get_connection(fail_silently).send_messages([self])
File "/home/.../env/lib/python2.6/site-packages/django/core/mail/backends/smtp.py" in send_messages
79. new_conn_created = self.open()
File "/home/.../env/lib/python2.6/site-packages/django/core/mail/backends/smtp.py" in open
42. local_hostname=DNS_NAME.get_fqdn())
File "/usr/lib/python2.6/smtplib.py" in __init__
239. (code, msg) = self.connect(host, port)
File "/usr/lib/python2.6/smtplib.py" in connect
295. self.sock = self._get_socket(host, port, self.timeout)
File "/usr/lib/python2.6/smtplib.py" in _get_socket
273. return socket.create_connection((port, host), timeout)
File "/usr/lib/python2.6/socket.py" in create_connection
500. for res in getaddrinfo(host, port, 0, SOCK_STREAM):
File "/home/.../env/lib/python2.6/site-packages/gevent-1.0a2-py2.6-linux-x86_64.egg/gevent/socket.py" in getaddrinfo
653. return get_hub().resolver.getaddrinfo(host, port, family, socktype, proto, flags)
File "/home/.../env/lib/python2.6/site-packages/gevent-1.0a2-py2.6-linux-x86_64.egg/gevent/resolver_ares.py" in getaddrinfo
149. return self._getaddrinfo(host, port, family, socktype, proto, flags)
File "/home/.../env/lib/python2.6/site-packages/gevent-1.0a2-py2.6-linux-x86_64.egg/gevent/resolver_ares.py" in _getaddrinfo
98. port, socktype = self._lookup_port(port, socktype)
File "/home/.../env/lib/python2.6/site-packages/gevent-1.0a2-py2.6-linux-x86_64.egg/gevent/resolver_ares.py" in _lookup_port
80. raise gaierror(EAI_SERVICE, 'Servname not supported for ai_socktype')

Exception Type: gaierror at /accounts/register/
Exception Value: [Errno -8] Servname not supported for ai_socktype

编辑:添加完整的回溯

最佳答案

端口是一个字符串。当它被传递给 _socket.getservbyname() 时,这会导致无法解读的错误,该错误需要一个诸如“smtp”之类的字符串。

关于django - 使用 gevent socket.py 时无法使用 Django 连接到 smtp 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7071597/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com