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

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

 

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

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

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

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

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

使用465端口:

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

使用587端口:

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

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

 

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

你可能感兴趣的:(个人网站搭建)