我目前使用django发送电子邮件,但问题是,当我在没有互联网连接的本地主机上工作时,我尝试发送电子邮件。我得到[Errno 11004] getaddrinfo
失败,这是可以理解的。问题是,我想知道是否有办法纠正错误,以便我可以正确地管理它们。有没有办法?在django中捕获互联网连接错误
0
A
回答
0
试试这个你正在调用sendmail函数的地方。
import socket
try:
...
except socket.gaierror:
pass
0
,而不是试图发送一封电子邮件,然后赶上本地主机的错误没有互联网连接的情况下,根本就没有尝试在开发过程中发送电子邮件。您可以使用django.settings.DEBUG
选项来确定是否应发送电子邮件。
下面是如何将电子邮件路由到文件进行测试或在没有互联网连接的情况下运行的示例。
from django.core import mail
from django import settings
import tempfile
# Change SAVE_EMAIL_TO_FILE to be appropriate for your setup. It could
# be based on settings.DEBUG or some other indication that you're running
# without an internet connection.
SAVE_EMAIL_TO_FILE = settings.DEBUG
def my_send_mail(*args, **kwargs):
if SAVE_EMAIL_TO_FILE:
# No emails during development. Save to a file instead.
with tempfile.NamedTemporaryFile(delete=False) as email_file:
email_file.write("{args}\n{kwargs}\n".format(
args=str(args),
kwargs=str(kwargs)))
else:
# Production environment.
mail.send_mail(*args, **kwargs)
这有你总是会得到一个生产机器或互联网连接的机器上开发过程中的异常,如果邮件无法发送的好处。
0
try:
except Exception, e:
code = '000'
if hasattr(e, 'code'):
code = e.code
msg = 'No message returned from the server'
if hasattr(e, 'msg'):
msg = e.msg
messages.error(
request,
'Error connecting to server. ERROR: {0} {1}'.format(code, msg)
return ''
相关问题
- 1. 互联网连接错误
- 2. 互联网连接错误
- 3. jParser.makeHttpRequest当我没有连接到互联网时不会捕获错误
- 4. 互联网连接
- 5. 在改装2中检测'没有互联网'连接错误
- 6. 在Android中检查互联网连接
- 7. 在Android中测试互联网连接
- 8. 在android中检查互联网连接
- 9. 在java中检查互联网连接
- 10. 在android中检测互联网连接
- 11. 在Silverlight中检查互联网连接
- 12. 在java中检查互联网连接
- 13. 在android中建立互联网连接
- 14. 捕获连接错误
- 15. Predis - 捕获连接错误
- 16. 退出Python网络错误代码和互联网连接
- 17. 没有互联网连接
- 18. 控制互联网连接
- 19. iPhone的互联网连接
- 20. 检查互联网连接
- 21. gethostbyname,连接到互联网?
- 22. 打开互联网连接
- 23. 限制互联网连接
- 24. Eclipse和互联网连接
- 25. 没有互联网连接
- 26. 互联网连接问题
- 27. 互联网连接管理?
- 28. 互联网连接检查
- 29. 检测互联网连接
- 30. 检查互联网连接