2017-07-26 78 views
1

我試圖建立通過外殼上的VPS使用此代碼的連接:ZOHO SMTP SMTPAuthenticationError在/(535,「身份驗證失敗」)Django應用程序

import smtplib 
from email.mime.text import MIMEText 


sender = 'my zoho email' 
recipient = 'my gmail account email' 


msg = MIMEText("Message text") 
msg['Subject'] = "Sent from python" 
msg['From'] = sender 
msg['To'] = recipient 


server = smtplib.SMTP_SSL('smtp.zoho.com', 465) 

# Perform operations via server 
server.login('my zoho account email', '*********') 

所有的憑據是正確的,因爲我成功登錄到我的帳戶在https://www.zoho.eu/mail/

當我嘗試登錄:

server.login('my zoho account email', '*********') 

我得到SMTPAuthenticationError和堆棧跟蹤顯示:

self.connection.login(force_str(self.username), force_str(self.password)) 
... 
raise SMTPAuthenticationError(code, resp) 

我的settings.py是:

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'  
EMAIL_USE_TSL = True 
EMAIL_PORT = 465 
EMAIL_HOST = 'smtp.zoho.com' 
EMAIL_HOST_USER = '**********' 
EMAIL_HOST_PASSWORD = '*********' 

大約有此多個線程在網絡上,但是,即使是一個有關於它的答案。他們的支持現在沒有第三天回答...

我正在使用NGINX並且沒有爲https://設置默認配置,但是我的自定義配置是和網站通過https://運行。

編輯:如果我試圖通過端口587連接有:

server = smtplib.SMTP_SSL('smtp.zoho.com', 587) 

我得到:

SSLError: [SSL: UNKNOWN_PROTOCOL] unknown protocol (_ssl.c:590) 
+0

我希望你檢查密碼固定它。 –

+0

確保您沒有啓用2步驗證。 –

+0

我正在使用與我在他們的網站上登錄相同的密碼。這應該是正確的。我已經兩次更改了密碼。 –

回答

1

這是我在settings.py唯一的設定,這是足以讓它工作。

#Email Settings 
EMAIL_USE_SSL = True 
EMAIL_HOST = 'smtp.zoho.com' 
EMAIL_PORT = 465 
EMAIL_HOST_USER = '[email protected]' 
EMAIL_HOST_PASSWORD = 'yourpassword' 
DEFAULT_FROM_EMAIL = '[email protected]' 
SERVER_EMAIL = '[email protected]' 

您可以使用Django Docs的快速示例進行測試。

from django.core.mail import send_mail 

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

enter image description here

+0

謝謝我設法用您的代碼更快地測試! –

1

原來我在歐洲主機ZOHO的下注冊的,所以我改變了對EMAIL_HOST「smtp.zoho.eu」

相關問題