使用SendGrid重置电子邮件时出现NET::ERR_CERT_COMMON_NAME_INVALID错误

NET::ERR_CERT_COMMON_NAME_INVALID error on email reset using SendGrid(使用SendGrid重置电子邮件时出现NET::ERR_CERT_COMMON_NAME_INVALID错误)
本文介绍了使用SendGrid重置电子邮件时出现NET::ERR_CERT_COMMON_NAME_INVALID错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个Django站点,它托管在GCP App Engine上,SendGrid作为电子邮件主机。重置密码并单击以下电子邮件中的链接时,会抛出后续错误:

您的连接不是私有的
NET::ERR_CERT_COMMON_NAME_INVALID

我已调查了几个可能的原因(最后链接),但未能找到解决方案。

password_reset_email.html(仅显示RESET_LINK块)

{% block reset_link %}
{{ protocol }}://{{ domain }}{% url 'password_reset_confirm' uidb64=uid token=token %}
{% endblock %}

settings.py

ALLOWED_HOSTS = ['*']
# Also tried with
#ALLOWED_HOSTS = ['*', 'website.com', 'www.website.com']

# HTTPS settings
SESSION_COOKIE_SECURE = True
CSRF_COOKIE_SECURE = True
SECURE_SSL_REDIRECT = True

# HSTS settings
SECURE_HSTS_SECONDS = 31536000 # 1 year
SECURE_HSTS_PRELOAD = True
SECURE_HSTS_INCLUDE_SUBDOMAINS = True

# Email backend settings (SendGrid)
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
DEFAULT_FROM_EMAIL = 'some@email.com'
EMAIL_HOST = 'smtp.sendgrid.net'
EMAIL_HOST_USER = 'apikey'
EMAIL_HOST_PASSWORD = 'EMAIL_HOST_PASSWORD'
EMAIL_PORT = 587
EMAIL_USE_TLS = True

我有authenticated the domain and branded the link on SendGrid已通过Namecheap上的DNS记录验证。

当我在浏览器中查看证书时,它仍然引用*.sendgrid.net。也许这可能是导致这种情况的原因?我认为认证和链接品牌可以解决这个问题。我还尝试过清空缓存并在私有窗口中打开链接。

我也调查了this、this和thisSO问题。

如有任何帮助,我们将不胜感激。

编辑

原来它也与this SO问题有关。

推荐答案

Twilio SendGrid Developer布道者点击此处。

您需要打开SSL Click Tracking,以便您的CDN可以使用您的域的有效证书将SSL内容转发到SendGrid。

这篇关于使用SendGrid重置电子邮件时出现NET::ERR_CERT_COMMON_NAME_INVALID错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Leetcode 234: Palindrome LinkedList(Leetcode 234:回文链接列表)
How do I read an Excel file directly from Dropbox#39;s API using pandas.read_excel()?(如何使用PANDAS.READ_EXCEL()直接从Dropbox的API读取Excel文件?)
subprocess.Popen tries to write to nonexistent pipe(子进程。打开尝试写入不存在的管道)
I want to realize Popen-code from Windows to Linux:(我想实现从Windows到Linux的POpen-code:)
Reading stdout from a subprocess in real time(实时读取子进程中的标准输出)
How to call type safely on a random file in Python?(如何在Python中安全地调用随机文件上的类型?)