Django项目部署到阿里云服务器无法发送邮件,发送邮件超时问题解决
前言
今天, 博主将写了好久的一个Django小项目尝试在阿里云部署上线,由于项目中需要发送邮件,博主调用了163邮箱接口,在本地测试邮件功能正常,可是上线后,邮件功能一直超时崩溃。在百度一番查资料后,最后终于得到了解决。
正题
原因:阿里云服务器禁用了25端口,导致无法发送邮件。
[/tip]
先前博主不信阿里云禁用25端口,尝试在阿里云控制台防火墙中解开25端口,结果失败,白忙活一场。不得不得认同可网上 阿里云禁用25端口的说法,25端口申请开放的难度很大。无奈之下,博主直放弃了开启25端口的念头。最后,博主选择了另外一个端口 465端口。 测试后邮件功能完美运行。
注意:博主用的163邮箱的SMTP,其他邮箱适当参考,原理应该差不多。
[/tip]
首先,在 django项目的 settings.py 文件中设置如下:
# 发送邮件的设置
EMAIL_HOST = 'smtp.163.com' # 发送邮件的SMTP服务器
EMAIL_HOST_USER = '你的邮箱@163.com' # 发送邮箱的用户名
EMAIL_HOST_PASSWORD = 'xxxxxx' # 发送邮箱的授权码
EMAIL_PORT = 465 # 端口号 ****** 特别注意 *****
EMAIL_USE_TLS = False # 发送的模式
EMAIL_USE_SSL = True # 加密模式 ****** 特别注意 *****
说明:
邮件默认端口为 25,我们改成 465 ,故修改配置项
EMAIL_PORT = 465
邮件功能需要开启SSL,故增加配置项:
EMAIL_USE_SSL = True # 加密模式 特别注意 *
[/tip]
如果是django使用了django自带的验证模块的需要添加如下代码 :
DEFAULT_FROM_EMAIL = '你的邮箱@163.com' # 默认发送邮件的邮箱,和发送邮箱的用户名相同
如果安装了宝塔面板,去 宝塔面板->安全 点击放行 465端口

若没有安装宝塔面板,去阿里云控制台防火墙 点击放行 465端口

为了不必要的麻烦,避免踩坑,博主在宝塔面板和阿里云控制台都操作放行了465端口。
[/tip]
最后,记得 重启 Django项目,如果还不行就 重启你的服务器 (博主没有重启)

如果还不行,就去你的 域名控制中心 ->点击管理 ->开启SSL证书,然后去阿里云申请一个免费的SSL证书,这样应该就没问题了。
Django项目部署到阿里云服务器无法发送邮件,发送邮件超时问题解决的更多相关文章
- javaWeb项目部署到阿里云服务器步骤
记录web项目部署到阿里云服务器步骤 (使用 web项目.阿里云服务器.Xftp.Xshell),敬请参考和指正 1.将要部署的项目打包成WAR文件格式,可以在MyEclipse.Eclipse都可以 ...
- javaWeb项目部署到阿里云服务器步骤 完整版
记录web项目部署到阿里云服务器步骤 (使用 web项目.阿里云服务器.Xftp.Xshell),敬请参考和指正 1.将要部署的项目打包成WAR文件格式,可以在MyEclipse.Eclipse都可以 ...
- Java Web项目部署到阿里云服务器(ECS)
本篇随笔只是记录博主第一次将自己的Java项目部署到阿里云服务器的大致过程,具体细节还请参考别的博文. 一.项目介绍 我做的项目是利用maven项目构建工具进行搭建基于SSM框架的代码共享管理系统,主 ...
- 如何把php项目部署到阿里云服务器window server2012__含公网ip访问时jquery/ajax失效解决办法
记一次蛋疼的折腾. 弄了一晚上最后发觉是360浏览器的问题,换个浏览器就好了.垃圾360用什么IE7文档模式.导致界面和功能失效. 建议大家测试的时候用firefox或者chrome. 项目部署到服务 ...
- 2018.11.7 关于将Web项目部署到阿里云服务器-5个步骤搞定
将Eclipse导出的War包部署到阿里云服务器上,提供给移动端实时的访问 1. 先登录阿里云网站注册账号,选择服务器类型(我用的是 云服务器ECS), 如果你还是在读大学生可享受优惠价,最低好像是9 ...
- 将web项目部署到阿里云服务器上
一.用eclipse将写好的项目打成war包 1.右键点击项目,选择Export 选择打包之后的路径,点击Finsh. 2.购买阿里云服务器 按下图选择 3.设置云服务器防火墙 4.远程连接云服务器 ...
- 记录web项目部署到阿里云服务器步骤
(使用 web项目.阿里云服务器.Xftp.Xshell),敬请参考和指正 1.将要部署的项目打包成WAR文件格式,可以在MyEclipse.Eclipse都可以完成打包,如下图: 2.安装Xshel ...
- 将javaweb项目部署到阿里云服务器
主要步骤:1. 购买阿里云服务器2. 远程连接3. 在云服务器上配javaweb环境:jdk,tomcat,MySQL4. 将项目的war文件放到Tomcat下关于云服务器ECS:如果还想在买服务器之 ...
- vue项目部署到阿里云服务器(windows),Nginx代理!
项目构成: 前端:vue+vant-ui, 数据库:mysql, 后端:node.js 部署方式:nginx代理: 一,首先要拥有自己的服务器,阿里,腾讯都可以,我用的是阿里的: 如果只是做个人项目的 ...
随机推荐
- jmeter简单的压测案例——访问百度并发5,持续请求15
好记性不如烂笔头,还是记记吧. jmeter压测的指标有很多,先从简单的入手,下一章节再讲解jmeter组件的作用. 需求是:访问百度的压测指标是:10s内并发5,持续15次请求.那么需要设置以下几点 ...
- 解决springboot 配置文件未映射静态资源文件 导致shiro拦截静态资源的问题
---------------------------------------------------------------------------------------------------- ...
- openlayer 4326与3857坐标互转之Java版
public class Transform { private static final double PI = Math.PI; private static final double merca ...
- Docker-初见
目录 Docker概述 Docker历史 Docker Docker的基本组成 Docker安装 使用流程 底层原理 Docker的常用命令 Portainer 可视化面板安装 镜像原理之联合文件系统 ...
- 创建线程的4种方法 and 线程的生命周期
线程的启动和运行 方法一:使用start()方法:用来启动一个线程,当调用start方法后,JVM会开启一个新线程执行用户定义的线程代码逻辑. 方法二:使用run()方法:作为线程代码逻辑的入口方法. ...
- Python中is与==区别
1.在Python中,id是什么?id是内存地址,那就有人问了,什么是内存地址呢? 你只要创建一个数据(对象)那么都会在内存中开辟一个空间,将这个数据临时加在到内存中,那么这个空间是有一个唯一标识的, ...
- allure报告中allure.title 如何去掉后方的参数化显示
1.解决方法如下 listener.py 文件位置:Lib\site-packages\allure_pytest\listener.py (第三方包所在的LIb目录) 将下图中红色部分test_re ...
- Spring Security OAuth2 微服务认证中心自定义授权模式扩展以及常见登录认证场景下的应用实战
一. 前言 [APP 移动端]Spring Security OAuth2 手机短信验证码模式 [微信小程序]Spring Security OAuth2 微信授权模式 [管理系统]Spring Se ...
- Visual Studio 重置窗口布局
Visual Studio 重置窗口布局
- 用例图示例:使用系统边界表示多个项目 / Using System Boundary to model Multiple Projects in Use Case Diagram
什么是用例图? 用例是一种捕获系统功能需求的技术.用例描述了一个独立于实现细节的期望行为.用例的目标是捕获用户设想的所有系统级功能.从用户的角度来看,用例是关于系统应该做什么的.用例捕获系统利益相关者 ...