我尝试使用django.core.mail
发送电子邮件,但收到错误:
Request Method: POST
Request URL: http://localhost:8000/accounts/signup/
Django Version: 1.11.10
Exception Type: gaierror
Exception Value:
[Errno -2] Name or service not known
Exception Location: /usr/lib/python2.7/socket.py in create_connection,
line 557
Python
Executable: /home/lucas/Documentos/projetos/advogados/venv/bin/python
Python Version: 2.7.12
之后我尝试使用像这样的python脚本发送电子邮件并且工作正常:
import smtplib
server = smtplib.SMTP('smtp.gmail.com', 587)
server.starttls()
server.login("my@email.com", "mypassword")
msg = "YOUR MESSAGE!"
server.sendmail("my@email.com", "to@email.com", msg)
server.quit()
所以我创建了自己的电子邮件发件人以与Django一起使用:
import smtplib
from django.conf import settings
def send_custom_mail(msg, to, subject):
message = 'Subject: {}\n\n{}'.format(subject, msg)
server = smtplib.SMTP(settings.EMAIL_HOST, settings.EMAIL_PORT)
server.starttls()
server.login(settings.EMAIL_HOST_USER, settings.EMAIL_HOST_PASSWORD)
server.sendmail(settings.EMAIL_HOST_USER, to, message)
server.quit()
它仍然无效,我收到同样的错误。
所以我删除了设置变量并使用了真实值,并且它工作!!!
我意识到问题与设置变量有关,我记录了它们,它们是类型,字符串表示主机,传递和用户以及int表示端口。好的!
我不知道如何检查或修复它,其他变量如ALLOWED_HOSTS和SECRET_KEY正常工作
我正在使用decouple lib从设置中删除敏感数据