我正在使用 Apache 和 mod_wsgi 在 Fedora 服务器(Fedora 版本 15 (Lovelock))上运行 django 网站。最近我尝试使用 django-registration 应用程序(0.7 版)添加注册系统,但不幸的是,当应用程序尝试向新注册的用户发送验证电子邮件时,我收到“[Errno 13] Permission denied”。我已将项目的设置文件配置为使用 gmail 帐户以这种方式发送电子邮件:
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = 'myemailaddress@gmail.com'
EMAIL_HOST_PASSWORD = 'mypassword'
EMAIL_PORT = 587
当我在使用项目的 shell 时手动导入 send_mail 时,我可以发送电子邮件。我没有更改视图或模型中的任何内容。这是注册模板文件:
{% extends "base.html" %}
{% load i18n %}
{% block content %}
<form method="post" action="/accounts/register/">
{% csrf_token %}
{{ form }}
<input type="submit" value="Register"/>
</form>
{% endblock %}
这是我得到的错误:
[Errno 13] Permission denied
Request Method: POST
Request URL: http://myip/accounts/register/
Django Version: 1.3.1
Exception Type: error
Exception Value:
[Errno 13] Permission denied
Exception Location: /usr/lib64/python2.7/socket.py in create_connection, line 571
这是完整的追溯:
追溯: get_response 中的文件“/usr/lib/python2.7/site-packages/django/core/handlers/base.py” 111. 响应 = 回调(请求,*callback_args,**callback_kwargs) 注册中的文件“/.../lib/registration/views.py” 148. new_user = form.save(profile_callback=profile_callback) 保存文件“/.../lib/registration/forms.py” 88. 发送电子邮件 = 真) create_inactive_user 中的文件“/.../lib/registration/models.py” 127. send_mail(主题,消息,设置。DEFAULT_FROM_EMAIL,[new_user.email]) send_mail 中的文件“/usr/lib/python2.7/site-packages/django/core/mail/__init__.py” 61. 连接=连接).send() 发送中的文件“/usr/lib/python2.7/site-packages/django/core/mail/message.py” 251. return self.get_connection(fail_silently).send_messages([self]) send_messages 中的文件“/usr/lib/python2.7/site-packages/django/core/mail/backends/smtp.py” 79. new_conn_created = self.open() 打开文件“/usr/lib/python2.7/site-packages/django/core/mail/backends/smtp.py” 42. local_hostname=DNS_NAME.get_fqdn()) __init__ 中的文件“/usr/lib64/python2.7/smtplib.py” 239.(代码,味精)= self.connect(主机,端口) 连接中的文件“/usr/lib64/python2.7/smtplib.py” 295. self.sock = self._get_socket(主机,端口,self.timeout) _get_socket 中的文件“/usr/lib64/python2.7/smtplib.py” 273.返回socket.create_connection((端口,主机),超时) create_connection 中的文件“/usr/lib64/python2.7/socket.py” 571.引发错误 异常类型:/accounts/register/ 处的错误 异常值:[Errno 13] 权限被拒绝