我使用此设置发送电子邮件:
settings.py
EMAIL_HOST = "mail.xxxxxx.ir"
EMAIL_PORT = "25"
EMAIL_HOST_USER = "xxxxx@xxx.ir"
EMAIL_HOST_PASSWORD = "xxxxxxxx"
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
DEFAULT_FROM_EMAIL = 'xxxxx@xxx.ir'
并在python shell中:
from django.core.mail import send_mail
send_mail('test', 'hello', 'xxxxx@xxx.ir', ['myEmail@gmail.com'])
它成功发送但是当我在视图中使用这两行代码时,我收到了这个错误:
gaierror at /userforget/
[Errno -3] Temporary failure in name resolution
请帮帮我。
更新
这是我的观看代码:
def userforget(request):
from django.core.mail import send_mail
send_mail('test', 'hello', 'xxxxxx@xxxx.ir', ['myEmail@gmail.com'])
t = get_template('Finalauth/login.html')
html = t.render(Context({"userbody" : "<p>Email sent.</p>"}))
return HttpResponse(html)
答案 0 :(得分:0)
我运行你的代码并发现除了
之外没有错误t = get_template('Finalauth/login.html')
我的意思是,也许,send_email没问题,但get_template也不正确。
然后,请检查文件&#39; Finalauth / login.html &#39; get_template,Context和HttpResponse 的导入。
答案 1 :(得分:0)
我使用IP而不是EMAIL_HOST的名称及其工作及其可能的DNS问题。