无法使用Django和NGINX Server(DigitalOcean droplet)发送电子邮件

时间:2015-07-09 09:38:57

标签: django email nginx smtp digital-ocean

我试图使用Django发送电子邮件但没有成功 我将 settings.py 文件配置如下:

 func splitFilename(str: String) -> (name: String, ext: String)? {
    if let rDotIdx = find(reverse(str), "_")
    {
        let dotIdx = advance(str.endIndex, -rDotIdx)
        let fname = str[str.startIndex..<advance(dotIdx, -1)]
        println("splitFilename >> Split File Name >>\(fname)")
    }


    return nil
}

我写了一个非常简单的视图来测试电子邮件发送:

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = "xxx@gmail.com"
EMAIL_HOST_PASSWORD = "xxx"
EMAIL_PORT = 587
EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'

在我的服务器控制台上,我可以看到此日志:

def send_email_test(request):
        from_email = "xxx@gmail.com"
        to = "yyy86@gmail.com"
        send_mail("test oggetto", "test messaggio", from_email, [to], fail_silently=False)
        print "email sent"
        return render_to_response('index.html', context_instance=RequestContext(request))

无论如何,我没有在我的电子邮件帐户上收到邮件 有什么建议吗?

2 个答案:

答案 0 :(得分:1)

好吧,你正在使用ConsoleBackend,顾名思义就是将电子邮件打印到控制台,以便进行测试。

我希望你想要django.core.mail.backends.smtp.EmailBackend,如the documentation中所述。

答案 1 :(得分:1)

这是与我的Google帐户的安全设置相关的问题 如果您有些人遇到同样的问题,则需要允许使用外部应用程序访问您的Google帐户 使用以下链接:
https://accounts.google.com/b/0/DisplayUnlockCaptcha

然后点击“继续”按钮,在接下来的30秒内使用您的应用访问您的Google帐户。