2011-04-22 73 views
1

我想發送電子郵件使用Django提供的EmailMessage類。我在views.py中的代碼如下:使用EmailMessage發送郵件與Django類

email = EmailMessage('Hello', 'My_message ', '[email protected]', [email]) 
email.attach_file('file.jpg') 
email.send() 

我得到一個[Errno 111]連接被拒絕。什麼可能是這個錯誤的來源?在嘗試使用Django中的附件發送電子郵件時,是否還有其他設置需要注意?非常感謝

[編輯]我忘了提我工作的Django的

提供的開發服務器上

回答

1

最有可能的,Django的無法連接到郵件服務器上的本地主機。如果你看看here,尋找EMAIL_HOST,EMAIL_HOST_USER和EMAIL_HOST_PASSWORD

+0

我可以使用什麼來代替EMAIL_HOST默認的'localhost'? – Bigdinrock 2011-04-22 01:26:12

+0

當有電子郵件問題時(他們將是系統管理員),我會找到你去的人,並要求他們提供連接信息。 – 2011-04-25 12:34:15

-1

像克里斯Curvey提到的,你必須配置郵件設置,這裏描述:http://docs.djangoproject.com/en/dev/ref/settings/?from=olddocs#available-settings

哪些郵件主機的使用取決於你的連接。如果你在工作,那麼應該有一個系統管理員可以告訴你要使用哪些信息。如果你在自己家裏,那麼你的ISP可能有一個你應該使用的郵件服務器。

如果您的計算機上有一個功能正常的電子郵件客戶端,那麼您還應該能夠在「發送郵件」中看到正確的設置或其他相關內容。

0

在Django中爲測試目的設置電子郵件的最簡單方法是將其設置爲使用SMTP的gmail帳戶。

在settings.py中添加這個。

EMAIL_HOST = 'smtp.gmail.com' 

EMAIL_HOST_USER = '[email protected]' 

EMAIL_HOST_PASSWORD = 'your-password' 

EMAIL_PORT = 587 

EMAIL_USE_TLS = True 

對於生產,您需要在服務器上安裝某種郵件服務器,或者連接到遠程郵件服務器。

希望這有助於某種方式。