Python 如何修复ConnectionRefusedError:[WinError 10061]目标计算机主动拒绝它?(Django电子邮件)

Python 如何修复ConnectionRefusedError:[WinError 10061]目标计算机主动拒绝它?(Django电子邮件),python,django,sockets,email,Python,Django,Sockets,Email,如何使用Django电子邮件修复[WinError 10061](否 由于目标计算机主动拒绝,因此无法建立连接 它) 我正在使用Django发送电子邮件。很明显,我遇到了一个常见的网络错误,但我读到的答案都没有解决。我相信插座有问题 发送电子邮件时,我收到以下错误: 2) 关闭防火墙/防病毒软件 3) 在pythonshell和Django应用程序中运行代码 4) 我已从NSMX查询中获取smtp服务器 我正在python shell中运行以下测试代码: 预期结果 现在我想从localho

如何使用Django电子邮件修复[WinError 10061](否 由于目标计算机主动拒绝,因此无法建立连接 它)




我正在使用Django发送电子邮件。很明显,我遇到了一个常见的网络错误,但我读到的答案都没有解决。我相信插座有问题



发送电子邮件时,我收到以下错误: 2) 关闭防火墙/防病毒软件

3) 在pythonshell和Django应用程序中运行代码

4) 我已从NSMX查询中获取smtp服务器

我正在python shell中运行以下测试代码:

预期结果 现在我想从localhost Django应用程序发送电子邮件。 将来我将把代码上传到pythonanywhere.com服务器上

谢谢
Jaime

电子邮件的
值需要在设置模块中,而不是脚本中。如果没有这些值,处理发送消息的
EmailBackend
类默认为尝试连接到
localhost:25
。由于您没有在本地系统上运行SMTP服务器,因此它拒绝连接

您不需要
EMAIL\u BACKEND
值,因为它是默认值,但可以将其他
EMAIL\u*
值移动到设置模块中

[修复]这是我发送电子邮件的Django代码:(大约12小时后…



1) 我在settings.py中缺少配置 设置.py

DEFAULT_FROM_EMAIL = 'admin@********.com'
SERVER_EMAIL = 'admin@********.com'
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_USE_TLS = True
EMAIL_HOST = 'mail.********.com'
EMAIL_HOST_USER = 'admin@********.com'
EMAIL_HOST_PASSWORD = '*******'
EMAIL_PORT = 587

2) Windows配置 这与:

  • 防火墙
  • 防病毒

3) 我不确定SMTP服务器的名称
  • 确保您在
    settings.py中具有正确的凭据
  • 我的hotmail最终没有起作用。我不得不使用主机服务提供的电子邮件。

4) Python shell与Django shell不同 我当时正在用pythonshell测试代码。 正确的做法是打电话:

python manage.py shell
而不仅仅是
python


发送电子邮件

(在配置了settings.py文件后)

您可以打开Django shell并复制代码,也可以在Django中编写代码 `views.py`将特定视图归档




值得一提的是:
  • 不适用于端口465
  • 电子邮件有时会进入垃圾邮件文件夹



谢谢
Jaime

我在Django项目中将EMAIL_*值移动到settings.py。我尝试了EMAIL_BACKEND='django.core.mail.backends.console.EmailBackend',该电子邮件已成功发送到cmd。我还尝试使用EMAIL_BACKEND='django.core.mail.backends.smtp.EmailBackend'和不使用,在这两种情况下,我都会收到类似但不同的错误消息:[WinError 10060]连接尝试失败,因为连接方在一段时间后没有正确响应,或者建立连接失败,因为连接的主机无法响应。这听起来像是在进步!你确定你可以通过这个SMTP服务器发送邮件吗?我还有一些更新。由于我实际上不确定以前的SMTP服务器,我将它改为另一个,我以前也使用过这个服务器,但使用PHP。建议使用端口465,大约需要2分钟,直到出现错误:在getreply中raise SMTPServerDisconnected(“连接意外关闭”)smtplib.SMTPServerDisconnected:连接意外关闭我也尝试了端口587,我几乎立即收到以下错误:在sendmail中raise SMTPDataError(代码,resp)smtplib.SMTPDataError:(550,b“消息被本地规则拒绝”)这听起来像是一个不同的问题!我不知道还有什么好建议。我建议用您当前的代码和错误消息更新您的问题,或者问一个新问题。是的!我认为最好创建一个新的帖子。最后我又从python shell迁移到Django。我想我离这项工作越来越近了。刚刚收到hostgator的另一封电子邮件,正在测试。谢谢
from django.conf import settings
from django.core.mail import EmailMessage
settings.configure()

from django.core.mail import send_mail

import socket
socket.getaddrinfo('hotmail-com.olc.protection.outlook.com', 80)

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_USE_TLS = True
EMAIL_HOST = 'hotmail-com.olc.protection.outlook.com'
EMAIL_HOST_USER = '*******@hotmail.com'
EMAIL_HOST_PASSWORD = '******'
EMAIL_PORT = 587

mail_subject = 'Activate your blog account.'


to_email = "******@hotmail"
email = EmailMessage(
    mail_subject, "hello", to=[to_email]
)
email.send()
DEFAULT_FROM_EMAIL = 'admin@********.com'
SERVER_EMAIL = 'admin@********.com'
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_USE_TLS = True
EMAIL_HOST = 'mail.********.com'
EMAIL_HOST_USER = 'admin@********.com'
EMAIL_HOST_PASSWORD = '*******'
EMAIL_PORT = 587
python manage.py shell
from django.core.mail import EmailMessage

mail_subject = 'Active a sua conta.'
message = "message"
to_email = "jaimedcsilva@hotmail.com"

email = EmailMessage(
    mail_subject, message,to=[to_email]
)
email.send()