今天在阿里云服务器上起docker容器部署了django服务,里面涉及 邮件发送功能 配置使用的是stmp.163.com服务器,端口为25,结果死活没能发送 成功,一直提示connect timeout 开始是怀疑容器的
今天在阿里云服务器上起docker容器部署了django服务,里面涉及
邮件发送功能
配置使用的是stmp.163.com服务器,端口为25,结果死活没能发送
成功,一直提示connect timeout
开始是怀疑容器的25端口没暴露,重新启容器暴露25端口后,还是不行;
倒腾了很久都没结果,最后在阿里云官网查,才发现,原来处于安全考虑,
大部分云服务商都禁用了25端口,备用端口是465
重新配置setting.py
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' # 指定邮件后端EMAIL_HOST = 'smtp.163.com' # 发邮件主机 --需要根据邮箱更改
EMAIL_USE_TLS = False # 关闭tls安全传输协议
EMAIL_USE_SSL = True # 开启ssl加密协议,465端口就是基于此
EMAIL_PORT = 465
EMAIL_HOST_USER = 'xxxx' # 授权的邮箱(发送方)
EMAIL_HOST_PASSWORD = 'xxxx' # 授权邮箱密码(需在邮箱官网设置授权)
DEFAULT_FROM_EMAIL = 'xxx' # 发件人抬头,必须配置与EMAIL_HOST_USER一样,否则出现553权限报错
SUBJECT = 'xxxxx' # 邮件标题
然后使用send_mail发送邮件即可
553权限报错
Arguments: (SMTPSenderRefused(553, b'Local user only,163 smtp8,DMCowACX++m6cOFis4dQA--.5331S2 1689