Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django-[Errno 111]连接被拒绝_Django - Fatal编程技术网

Django-[Errno 111]连接被拒绝

Django-[Errno 111]连接被拒绝,django,Django,当我发表评论时,不保存,崩溃(错误:[Errno 111]连接被拒绝),为什么 views.py models.py 管理 谢谢 看起来您正在尝试发送邮件(send_mail()),并且您在设置中的设置.py不正确 你应该检查一下这些文件 出于调试目的,您可以使用以下命令设置本地smtpserver: python -m smtpd -n -c DebuggingServer localhost:1025 并相应地调整您的邮件设置: EMAIL_HOST = 'localhost' EMAI

当我发表评论时,不保存,崩溃(错误:[Errno 111]连接被拒绝),为什么

views.py models.py 管理
谢谢

看起来您正在尝试发送邮件(
send_mail()
),并且您在
设置中的设置.py
不正确

你应该检查一下这些文件


出于调试目的,您可以使用以下命令设置本地smtpserver:

python -m smtpd -n -c DebuggingServer localhost:1025
并相应地调整您的邮件设置:

EMAIL_HOST = 'localhost'
EMAIL_PORT = 1025
这里记录了这一点:


作为启动专用调试服务器的替代方案,您可以使用最近添加到Django的。

我们最近从Python调试电子邮件服务器转移到使用一个名为Mailcatcher的程序。Mailcatcher作为守护进程运行,以截获发送到端口1025的所有测试电子邮件,并与web服务器集成,以便您可以从浏览器查看截获的电子邮件。优势

  • 如果需要,您可以将测试电子邮件视为HTML
  • 集中管理所有测试电子邮件--它们会一直存在,直到您清除它们
  • 从任何浏览器查看测试电子邮件,而不是在终端窗口中滚动
您可以阅读更多内容并在此处下载:


如果你不喜欢Ruby,我的一位同事已经将Mailcatcher的功能移植到了node.js——在这里查看MailDev:

在你的服务器上安装postfix软件包,它就可以工作了。如果是ubuntu,请尝试:

sudo apt-get install postfix
在您的设置中,放置:

EMAIL_HOST = 'localhost'

安装postfix为我做到了这一点

这里似乎没有经过适当升级的答案,所以这一页可能有点混乱。文件中的注意事项:

parameters settings.py具有默认值

当我安装postfix时,它至少在本地修复了这个问题


希望这能帮助另一个困惑的灵魂

此外,以下内容将有所帮助:

将以下最小设置放入服务器上的settings.py或local_settings.py文件中

EMAIL_HOST = 'localhost'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
你可以拥有自己的邮件服务器,而不是使用smtp.gmail.com,因为smtp.gmail.com有很多限制

您可以通过安装自己的邮件服务器来实现:

sudo apt-get install sendmail

EMailDump可用且有用本地服务器smtp,易于安装,这是用python开发的
对于开发和测试:

在Django 1.6+中,我们可以在settings.py中添加这一行

EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
这将在控制台上显示邮件,以便于验证

注意: 邮件不会发送到Msg中指定的收件人。它只是用于开发和测试

为此,您需要配置文档中给出的SMTP服务器


仅供参考:

我也遇到了这个错误。我没有使用gmail,而是决定使用postfix设置自己的邮件服务器

要在Ubuntu 12.04上设置后缀,请执行以下操作:

sudo apt-get install postfix
然后,将配置文件复制到/etc/postfix/:

cp /usr/share/postfix/main.cf.debian /etc/postfix/main.cf
将以下行添加到main.cf

mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mydestination = localhost
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'localhost'
EMAIL_PORT = 25
EMAIL_HOST_USER = ''
EMAIL_HOST_PASSWORD = ''
EMAIL_USE_TLS = False
DEFAULT_FROM_EMAIL = 'Server <server@whatever.com>'
重新加载配置文件:

/etc/init.d/postfix reload
要测试并查看后缀是否正常工作,请执行以下操作:

telnet localhost 25
然后逐行输入以下内容:

mail from: whatever@whatever.com
rcpt to: your_real_email_addr@blah.com
data (press enter)
type whatever content you feel like to type
. (put an extra period on the last line and then press enter again)
如果它起作用,您应该看到如下内容:

250 2.0.0 Ok: queued as CC732427AE
接下来,在Django的settings.py中放入以下行:

mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mydestination = localhost
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'localhost'
EMAIL_PORT = 25
EMAIL_HOST_USER = ''
EMAIL_HOST_PASSWORD = ''
EMAIL_USE_TLS = False
DEFAULT_FROM_EMAIL = 'Server <server@whatever.com>'

检查您的垃圾邮件收件箱,您应该会看到上面显示的电子邮件。

注意,这是不鼓励的,因此答案应该是搜索解决方案的终点(与另一个参考资料的中途停留相比,随着时间的推移,这些参考资料往往会过时)。请考虑在这里添加一个独立的概要,保持链接作为参考。这是更容易和完美完美链接:请参考下面的发送邮件链接。
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'localhost'
EMAIL_PORT = 25
EMAIL_HOST_USER = ''
EMAIL_HOST_PASSWORD = ''
EMAIL_USE_TLS = False
DEFAULT_FROM_EMAIL = 'Server <server@whatever.com>'
./manage.py shell

>>> from django.core.mail import send_mail
>>> send_mail('Subject here', 'Here is the message.', 'from@example.com',
    ['to@example.com'], fail_silently=False)