我可以发送带有shell的邮件,但无法通过视图发送邮件

时间:2015-01-08 08:31:15

标签: python django python-2.6 django-1.6

我使用此设置发送电子邮件:

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)

2 个答案:

答案 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问题。