个人网站搭建(Day 20)— 25号端口被阿里云禁用,无法发送邮件

在将个人网站从本地部署到阿里云后,发现25号邮件端口被禁用,导致无法发送激活邮件。为解决此问题,无需申请解封,而是直接修改Django项目的settings.py配置,使用465或587端口,配合EMAIL_USE_TLS或EMAIL_USE_SSL设置,实现邮件发送功能。

在博客 个人网站搭建(Day 19)— Django-User 用户邮箱认证 中提到了我们新的注册功能会发送激活邮件给用户,在本地测试时使能够正常地发送邮件的,但是在部署到阿里云后发现在发送邮件时会出错,经过检查发现是阿里云官方禁用了邮件的发送端口(25号端口),想必是防止阿里云的服务器被滥用来发送垃圾邮件叭,可以通过申请来解决,但是处理申请的手续比较麻烦,可能花费很多的时间还是未能通过审核,所以在这里我们通过修改我们的项目文件配置来使用其他端口。

 

这是我们原来的 settings.py 中的配置

EMAIL_HOST = "smtp.sina.com"
EMAIL_PORT = 25
EMAIL_HOST_USER = "xxxxxxxxx@sina.com"            # 你的邮箱账号
EMAIL_HOST_PASSWORD = "xxxxxxxxx"                 # 你的邮箱密码
EMAIL_USE_TLS = False                             # 这里是 False
EMAIL_FROM = "xxxxxxxxx@sina.com"                 # 你的邮箱账号
DEFAULT_FROM_EMAIL = SERVER_EMAIL = EMAIL_HOST_USER

我们通过修改settings.py中的部分代码来使用465/587端口

465/587端口的功能及区别如下所示:

使用465端口:

EMAIL_HOST = "smtp.sina.com"
EMAIL_PORT = 465
EMAIL_HOST_USER = "xxxxxxxxx@sina.com"         # 你的邮箱账号
EMAIL_HOST_PASSWORD = "xxxxxxxxx"              # 你的邮箱密码
EMAIL_USE_TLS = False                             
EMAIL_USE_SSL = True
EMAIL_SUBJECT_PREFIX = u'[Schnee]'               #为邮件Subject-line前缀
EMAIL_FROM = "xxxxxxxxx@sina.com"                # 你的邮箱账号
DEFAULT_FROM_EMAIL = SERVER_EMAIL = EMAIL_HOST_USER

使用587端口:

EMAIL_HOST = "smtp.sina.com"
EMAIL_PORT = 587
EMAIL_HOST_USER = "xxxxxxxxx@sina.com"         # 你的邮箱账号
EMAIL_HOST_PASSWORD = "xxxxxxxxx"              # 你的邮箱密码
EMAIL_USE_TLS = True                             
EMAIL_USE_SSL = False
EMAIL_SUBJECT_PREFIX = u'[Schnee]'               #为邮件Subject-line前缀
EMAIL_FROM = "xxxxxxxxx@sina.com"                # 你的邮箱账号
DEFAULT_FROM_EMAIL = SERVER_EMAIL = EMAIL_HOST_USER

关于 EMAIL_USE_TLS 以及 EMAIL_USE_SSL 的设置可参考这个:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值