一些事实:
我正在使用devserver工作localhost . 我有一个Django项目,电子邮件发送工作完美 . 我设置了一个新的Django项目,1.4.5,我将settings.py中的工作项目(EMAIL_HOST,EMAIL_PORT ...)的电子邮件设置复制/粘贴到新的项目中,我用manage.py打开一个shell,从django.core.mail加载send_mail,它可以发送电子邮件的第一个项目(我在我的电子邮件客户端收到它们),第二个电子邮件永远不会被发送 . 我试过各种服务器,gmail和gandi . 我在纯Python代码中直接尝试使用smtplib,它使用相同的设置 . 在使用第一个项目和smtplib发送邮件时,我可以看到该函数需要几秒钟才能在命令行中返回提示,但是在第二个项目中它会立即返回提示,这让我觉得没有任何事情发生 .
所以我的问题是我的新项目的配置可能有什么问题?去哪儿看?如果可能的话怎么调试呢? (send_mail函数只返回1,这是我发送的邮件数量,有没有办法获得追溯或一些有用的错误消息?)
2 回答
回答你的一个问题:
在调用任何要调试的内容之前使用pdb.set_trace() .
我知道这很容易,它必须是一个环境,事实上它确实如此 . 我没有那个来自哪里,可能是默认出现在新的django项目中,我不知道但我有
在我的设置文件中,远离我的电子邮件设置,我自己从未输入过 . 将其更改为SMTP或评论它使Django实际发送电子邮件 .