.env文件
EMAIL_HOST=smtp.office365.com
字符串
settings.py
EMAIL_BACKEND = "django.core.mail.backends.smtp.EmailBackend"
EMAIL_HOST = env.str("EMAIL_HOST")
EMAIL_PORT = 587
EMAIL_USE_TLS = True
EMAIL_HOST_USER = env.str("EMAIL_HOST_USER")
EMAIL_HOST_PASSWORD = env.str("EMAIL_HOST_PASSWORD")
SERVER_EMAIL = env.str("SERVER_EMAIL")
DEFAULT_FROM_EMAIL = env.str("DEFAULT_FROM_EMAIL")
型
系统错误与
../3.10/lib/python3.10/socket.py", line 955, in getaddrinfo
for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno 8] nodename nor servname provided, or not known
型
奇怪的是,这个配置直到一周前才工作。该系统自3月以来一直很可靠,没有错误,就在上周,所有电子邮件都开始失败。从我的本地机器失败,从我的开发服务器失败,从我的prod服务器也失败,并且在2个月内没有代码推送到prod。所以O365一定发生了什么变化?我已经把我的邮件服务器改成了sendgrid,代码功能也很好。有没有人对如何进一步解决这个问题有任何建议?微软没用。说是我的DNS。这是不正确的,因为这是一台运行在Azure中的Linux机器,它将解析所有其他内容,包括端口587上的telnet到smtp.office365.com。
1条答案
按热度按时间cbwuti441#
我可以通过删除env.str(“EMAIL_HOST”)中的str来解决这个问题。
字符串