![](/img/trans.png)
[英]How to fix ssl.SSLError: [SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1056)?
[英]django2.1 send email fail:ssl.SSLError: [SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:833)
我想給自己發送電子郵件,所以我嘗試了。 我已經在settings.py中設置了我的電子郵件信息
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_USE_TLS = False
EMAIL_USE_SSL = True
EMAIL_HOST = 'smtp.163.com'
EMAIL_PORT = 25
EMAIL_HOST_USER = '*****@163.com'
EMAIL_HOST_PASSWORD = '***'
然后我從Django文檔中寫下示例
from django.core.mail import send_mail
send_mail(
'Subject here',
'Here is the message.',
'from@example.com',
['to@example.com'],
fail_silently=False,
)
然后發生了異常
ssl.SSLError: [SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:833)
如何解決?
您應檢查使用的端口號是否正確。
您可能需要將端口從25更改為465或587,以將SMTP與SSL配合使用; 端口25通常用於非加密電子郵件。 當然,這取決於您的電子郵件提供商,但這是大多數提供商遵循的一種標准。
對於端口號的一些歷史背景,我在mailgun
博客上找到了這篇文章 (作為眾多文章之一)。
嘗試通過類似的Web框架(web2py)和其他電子郵件服務提供商(gmail)發送電子郵件時遇到相同的錯誤消息。
無論軟件組件和電子郵件服務器不同,解決方案都是相同的:仔細檢查您計划使用的電子郵件服務的端口。 例如, 對於SSL , Gmail使用端口465,對於TLS使用端口586 。 正確后,即可按預期發送電子郵件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.