django项目部署服务器后无法发送邮箱 错误信息:Connection unexpectedly closed

使用配置:

  python 3.7 +

  django 2.2.1

    发送邮件模块 :  from django.core.mail import send_mail 

  服务器:Centos7 阿里云轻量级服务器

 

本地测试使用的时候用的是 25 端口,没有任何问题,但是放到服务器上就会无法使用

问题原因:

  根据阿里云官方解释为:

  因服务器的25端口默认封闭,需要使用SSL加密端口(通常是465)来对外发信,调用的邮箱服务器需要支持SSL加密。

 

解决方案(修改配置):

注意: EMAIL_USE_SSL 和 EMAIL_USE_TLS  两个不能同时为True

1. 服务器 settings.py 配置 ( 记得在防火墙添加 465 端口 )

# 发送邮箱验证码
EMAIL_HOST = "smtp.163.com"     # 服务器
EMAIL_PORT = 465                 # 一般情况下都为25, 服务器为 465
EMAIL_HOST_USER = "xxx@163.com"     # 账号
EMAIL_HOST_PASSWORD = "xxx"          # 密码(这里是你的授权码)
EMAIL_USE_SSL = True            # 这里未配置为True也会触发异常
EMAIL_FROM = "xxx@163.com"      # 邮箱来自

 

2. 本地 settings.py 配置

# 发送邮箱验证码
EMAIL_HOST = "smtp.163.com"     # 服务器
EMAIL_PORT = 25                 # 一般情况下都为25 , 465, 587
EMAIL_HOST_USER = "xxx@163.com"     # 账号
EMAIL_HOST_PASSWORD = "xxx"          # 密码(这里是你的授权码)
EMAIL_USE_TLS = False       # 一般都为False
EMAIL_FROM = "xxx@163.com"      # 邮箱来自

 

posted @   _Q  阅读(7050)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
点击右上角即可分享
微信分享提示