2014-10-02 53 views
5

通過看到this answer我知道Google會阻止某些應用連接,因爲這些應用中缺少應用現代安全標準,並且我可以讓Google允許我的帳戶從這些應用連接 - 我必須明確地這樣做。是Django 1.7郵件API「不安全」?

這是由於在Django郵件的問題:涉及

send_mail(
     u"Message", 
     render_to_string('template.txt', {'data': data}), 
     settings.EMAIL_HOST_USER, 
     [dest['address'] for dest in settings.FORM_DESTINATIONS], 
     html_message=render_to_string('template.html', {'data': data}), 
) 

而我EMAIL_設置的@ gmail.com帳戶(既不SSL/465或TLS/587的工作)。

這是否意味着Django 1.7具有不安全的郵件機制?在這種情況下,「安全」意味着什麼?Django沒有應用什麼郵件標準?

編輯即使我提供了這個問題的上下文(尖答案和相關鏈接/文檔)也許有些讀者可能找不到在哪裏做有關「安全」 /「不安全」的應用谷歌談判。通過使用您的Google帳戶憑據輸入here,您可以選擇通知this page「安全性較低的應用」,該應用具有「更多信息」鏈接,指向Here (this link does not need authentication)

+1

這很可能不是Django的問題。 Google是一個安全的超級怪獸,它可能以過於複雜的API和小狗爲特徵(可能)。幾乎所有我用過的應用程序或擴展程序都需要我明確允許它連接到Gmail。我認爲沒有任何辦法可以解決這個問題,Google似乎是一個與Django無關的標準安全 – yuvi 2014-10-02 20:48:26

+0

*您在使用Django郵件時遇到了什麼問題? *你得到了什麼具體的錯誤? *您使用的具體設置是什麼?引用「缺乏現代安全標準的應用」來自哪裏?我不認爲谷歌調用Django不安全。最有可能的是你試圖*做的*這是不安全的。) – Louis 2014-10-02 22:12:50

+0

引用來自谷歌。請閱讀有針對性的答案和有針對性的文檔(通過有針對性的答案)以瞭解這一點。沒有閱讀答案,這個問題根本無法理解。 – 2014-10-03 14:50:21

回答

2

使用Django通過SMTP發送電子郵件需要您在服務器上以純文本格式存儲密碼。顯然,谷歌認爲以明文形式存儲密碼存在安全風險,並希望您使用OAuth 2.0或雙因素身份驗證以及特定於應用程序的密碼。請參閱 http://googleonlinesecurity.blogspot.de/2014/04/new-security-measures-will-affect-older.html

您決定是否考慮在服務器上以純文本格式存儲電子郵件密碼存在安全風險。請記住,您通常也會以純文本格式存儲您的數據庫密碼,因此當攻擊者能夠讀取您的應用程序設置時,無論如何它都是遊戲。

我會建議啓用雙因素身份驗證並使用應用程序特定的密碼,特別是如果您使用該Google帳戶不僅僅是從服務器發送郵件。