繁体   English   中英

Django email 后端和 smtp 配置

[英]Django email backend and smtp configuration

我正在尝试在我的 django 项目中使用我的 Zoho 帐户,以便通过联系人 forms 接收电子邮件。

我也遵循了这个指南: https://www.zoho.com/mail/help/zoho-smtp.html

在我写的“settings.py”文件中:

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtppro.zoho.eu'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
EMAIL_HOST_USER = '<domain name email>'
EMAIL_HOST_PASSWORD = '<password>'

在 views.py 中:

def home(request):
    allTemplates = AllTemplates.objects.all()
    if request.method == 'POST':
        form = forms.ContactForm(request.POST)
        if form.is_valid():
            body = {
                'name': form.cleaned_data['name'],
                'surname': form.cleaned_data['surname'],
                'from_email': form.cleaned_data['from_email'],
                'message': form.cleaned_data['message'],
            }
            mail_body = "\n".join(body.values())
        try:
            send_mail("Generic contact", mail_body, '<domain name email>',
                      ['<domain name email>'], fail_silently=False)
        except BadHeaderError:
            return HttpResponse('Ops, qualcosa è andato storto')

    form = forms.ContactForm
    context = {'form': form, 'allTemplates': allTemplates,
               'allTemplates_length': len(allTemplates)}
    return render(request, 'home.html', context)

注意在“send_email”中我输入了两次我的 email 地址来测试

我也尝试使用 ssl

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtppro.zoho.eu'
EMAIL_PORT = 465
EMAIL_USE_SSL = True
EMAIL_HOST_USER = '<domain name email>'
EMAIL_HOST_PASSWORD = '<password>'

但没有,我没有收到任何 email。

有没有人已经通过它或者谁可以指导我找到一些文件或学习指南?

非常感谢你提前。

我用

EMAIL_PORT = 587
EMAIL_USE_TLS = True
  1. 我最大的痛苦是所有电子邮件都进入了垃圾邮件文件夹,我有 2 个小时没有意识到这一点。

  2. 测试本地 output 到终端:

设置.py

EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
  1. 使用本地邮件服务器进行测试以确保正确创建 email:

设置.py

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST='localhost' 
EMAIL_PORT=1025 

并在终端 window 中启动与运行服务器并行的本地测试邮件服务器:

python -m smtpd -n -c DebuggingServer localhost:1025

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM