【问题标题】:django email not being sent : ConnectionRefusedError WinError 10061django 电子邮件未发送:ConnectionRefusedError WinError 10061
【发布时间】:2020-01-13 13:32:39
【问题描述】:

我正在编写 django 应用程序并尝试使用它发送电子邮件我在 gmail 中启用了“访问低安全性应用程序”,并且下面给出了 django 设置,我认为这是正确的。但我仍然收到标题中提到的错误。我不知道问题所在,但我知道我没有登录以发送电子邮件。 编辑1:我首先在settings.py中进行了两项更改,然后在views.py中的views.py中进行了两项更改我将用户输入的电子邮件替换为我的(syedfaizan824@gmail.com)并且settings.py DEFAULT_EMAIL_FROM从testing@example更改。 com 到 syedfaizan824@gmail.com

在网上搜索,发现gmail默认不允许低安全性应用登录,但我在gmail的设置中将其关闭。发现我的电子邮件后端是错误的,所以它是正确的。静默失败是 False。

settings.py

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAL_HOST = 'smtp.gmail.com'
EMAIL_USE_TLS = True
EMAIL_PORT = 587
DEFAULT_FROM_EMAIL = 'syedfaizan824@gmail.com'
EMAIL_HOST_USER = 'syedfaizan824@gmail.com'
EMAIL_HOST_PASSWORD = '******'

views.py

def post(self, request, *args, **kwargs):
    form = contact(request.POST)
    if form.is_valid():
        name = form.cleaned_data['name']
        email = form.cleaned_data['email']
        phone = form.cleaned_data['phone']
        organization = form.cleaned_data['organization']
        message = form.cleaned_data['message']
        ref_code = form.cleaned_data['ref_code']
        plan = form.cleaned_data['plan']
        message = message + ref_code 
        send_mail(
            'from website' + name + " " + organization,
             message,
            'syedfaizan824@gmail.com',
            ['syedfaizan824@gmail.com'],
            fail_silently=False,
        )
        print("sent")

    else:
        #print('something is wrong with forms!')
    return render(request, self.template_name, self.context)

错误消息是 ConnectionRefusedError WinError[10061]。并且错误声明是:无法建立连接,因为目标机器主动拒绝了它。这意味着我没有登录。

【问题讨论】:

  • “testing@example.com”和“syedfaizan824@gmail.com”是否在同一个 Gmail 帐户上?这些是否以某种方式联系在一起?
  • 不,我认为当有人看到网站并尝试联系时,如果未提供电子邮件字段,他会提供一些电子邮件,尽管我尝试将其设置为 syedfaizan824@gmail.com这是我的帐户,我正在尝试使用输入的信息从该帐户向该帐户发送电子邮件。
  • 我根据您的评论 Matthew Gaiser 编辑了问题和 views.py 和 settings.py。
  • 除此之外,你的 settings.py 看起来和我的一模一样。 ``` EMAIL_HOST = 'smtp.gmail.com' EMAIL_USE_TLS = True EMAIL_PORT = 587 EMAIL_HOST_USER = 'myemail@gmail.com' EMAIL_HOST_PASSWORD = '********' ```
  • 在您尝试控制台电子邮件后端时是否有效? EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'

标签: python django email


【解决方案1】:

改变 EMAL_HOST = 'smtp.gmail.com'EMAIL_HOST = 'smtp.gmail.com'

您在单词“EMAIL”中缺少“I”字符

【讨论】:

    猜你喜欢
    • 2019-08-20
    • 2019-06-07
    • 1970-01-01
    • 1970-01-01
    • 2014-10-26
    • 2021-05-27
    • 2020-04-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多