在博客 个人网站搭建(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端口的功能及区别如下所示: