我试图通过此代码在VPS上通过shell建立连接:
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', '*********')
Run Code Online (Sandbox Code Playgroud)
所有凭据都是正确的,因为我已成功登录到我的帐户https://www.zoho.eu/mail/
当我尝试登录时:
server.login('my zoho account email', '*********')
Run Code Online (Sandbox Code Playgroud)
我得到SMTPAuthenticationError,堆栈跟踪显示:
self.connection.login(force_str(self.username), force_str(self.password))
...
raise SMTPAuthenticationError(code, resp)
Run Code Online (Sandbox Code Playgroud)
我的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 = '*********'
Run Code Online (Sandbox Code Playgroud)
网上有很多关于这个的线索,但是,甚至没有一个人对它有答案.他们的支持现在没有回答第三天......
我正在使用NGINX,并且没有为https://设置默认配置,但我的自定义配置是,并且网站通过https://运行.
编辑:如果我尝试通过端口587连接:
server = smtplib.SMTP_SSL('smtp.zoho.com', 587)
Run Code Online (Sandbox Code Playgroud)
我明白了:
SSLError: [SSL: UNKNOWN_PROTOCOL] unknown protocol (_ssl.c:590)
Run Code Online (Sandbox Code Playgroud)
事实证明我是在欧洲主办的zoho注册的,所以我通过将EMAIL_HOST更改为'smtp.zoho.eu'来修复它
| 归档时间: |
|
| 查看次数: |
833 次 |
| 最近记录: |