我可以用 shell 发送邮件,但不能通过视图发送邮件

I can send mail with shell but can't sent mail via view

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

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 外壳中:

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)

我运行你的代码,发现除了

没有错误
t = get_template('Finalauth/login.html')

我的意思是,也许 send_email 可以,但是 get_template 也不正确。

然后,请检查文件 'Finalauth/login.html' 和 import for get_template、上下文和 HttpResponse.

我使用 IP 而不是 EMAIL_HOST 的名称,它的工作原理对我来说可能是 DNS 问题。