2014-05-02 24 views
0

作爲學校項目的一部分,我嘗試通過gmail發送電子郵件。
我們在virtualenv中使用django,因爲我們使用的是當前未安裝的Python包(主要是Pillow)。 settings.py中的電子郵件配置看起來像這樣:使用Python 3.2,Virtualenv和Django發送電子郵件

#Email Config 
EMAIL_HOST = 'smtp.gmail.com' 
EMAIL_PORT = 587 
EMAIL_HOST_USER = '[email protected]' 
EMAIL_HOST_PASSWORD = 'Apasswd' 
EMAIL_USE_TLS = True 
DEFAULT_FROM_EMAIL = '[email protected]' 
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' 

這種配置工作的virtualenv中的罰款外,但裏面的virtualenv中運行時,我得到這個:

[Errno 10051] A socket operation was attempted to an unreachable network 

我能做些什麼解決這個問題?謝謝。

+0

您確定目標位置可達(smtp.gmail.com)嗎?這可能是一個網絡問題。 –

+0

我確定smtp.google.com可以從我們運行的計算機上訪問。在我們切換到virtualenv之前,我們可以發送沒有問題的電子郵件。 – dfryer1193

回答

0

放下一切與你的SMTP配置並嘗試這個辦法:

## Email 
## GMail 
EMAIL_USE_TLS = True 
EMAIL_HOST = 'smtp.gmail.com' 
EMAIL_HOST_USER = '[email protected]' 
EMAIL_HOST_PASSWORD = 'your-password' 
EMAIL_PORT = 587 
EMAIL_FROM = '[email protected]' 

現在去python manage.py shell,做這個

from django.core.mail import send_mail 

send_mail('Subject here', 'Here is the message.', '[email protected]', 
    ['[email protected]'], fail_silently=False) 

如果[email protected]收到電子郵件,一切都很好。

+0

不幸的是,當我嘗試這個時,我得到了和上面一樣的錯誤。 – dfryer1193