Cannot connenct to relay host smtp.163.com (php邮件发送失败)

2024-06-03 04:08

本文主要是介绍Cannot connenct to relay host smtp.163.com (php邮件发送失败),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

真是无语 搞了那么久,网上全部都说是 服务器php.ini 配置的问题,全tm都是抄的,误人子弟,好在 发现 该好贴,不过 阿里云 也真是 操蛋,屏蔽了25端口也不说,好吧!可能是我 没注意到。 扯淡完毕,下面是 解决问题的正文:

织梦自带了邮件发送功能,当我们在后台配置好了smtp信息后,如果还是发送邮件失败,可以通过下面的方法来定位。

PS:关注结果的站长们可以直接看第4、5步的结论,本例导致织梦邮件发送不出去的原因是阿里云禁用了25端口。
 
1、登陆dede网站后台,找到include/mail.class.php,先做好备份,然后对该文件做一些修改以打开debug日志,可以在后台用vi命令直接修改,也可以将该文件用ftp工具下载到本地电脑,修改后再上传覆盖,修改点如下:
a)修改$this->debug = TRUE; 表示打开debug日志
b)修改$this->log_file = "/yjdata/www/mail.log"; 表示输出日志到哪个地方
2、在后台,到上面$this->log_file指定的目录下用下面的命令创建mail.log文件,同时修改文件权限,命令如下
cd /yjdata/www/
touch mail.log
chmod 777 mail.log
 
3、上面的步骤完成后,再次做操作触发邮件的发送,比如注册用户、找回密码等等,这时候可以去查看日志,看看到底是什么原因,比如日志内容显示如下,Cannot connenct to relay host smtp.qq.com,然后就连接超时了。


4、网上很多类似问题的帖子说问题出现在服务器的环境配置上,检查方法如下:找到php.ini,查看两个参数,一个是allow_url_fopen,这个参数要设置成on;另一个是disable_functions,如果这个参数后面出现了fsock,fsockopen,则需要把这两个函数名去掉,完成后重启apache。不过这里不是这个原因导致的,因为这里的错误是,Error: Connection timed out (110),是连接超时,说明fsock方法是可用的,只是连不上邮件服务器;而前面说的服务器配置问题的错误会是Error: (),空,说明fsock方法不可用。按前面说的检查方法检查后发现配置的没问题,说明不是这个原因导致的。
 
5、那连接超时是什么原因导致的呢,一般我们配置的smtp服务器端口都是25,不过有的服务器或空间提供商把25端口给禁用了,比如阿里云就给禁用了,这个可以找相应的提供商确认一下。如果真是禁用了25端口,可以采用465端口,这个端口很多主流的邮件服务商像网易邮箱、QQ邮箱、阿里云邮箱也都支持,采用了465端口,织梦后台需要如下这么配置,注意, smtp服务器地址前面一定要加上ssl://,否则还是不可用。

 
6、这时候再重试,可以发送邮件了,查看日志显示如下

 
7、注意,问题解决后,记得还原include/mail.class.php,不在记录debug日志。

原文地址: https://www.imoban.me/baike/5.html

这篇关于Cannot connenct to relay host smtp.163.com (php邮件发送失败)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1025965

相关文章

python运用requests模拟浏览器发送请求过程

《python运用requests模拟浏览器发送请求过程》模拟浏览器请求可选用requests处理静态内容,selenium应对动态页面,playwright支持高级自动化,设置代理和超时参数,根据需... 目录使用requests库模拟浏览器请求使用selenium自动化浏览器操作使用playwright

SpringBoot整合Dubbo+ZK注册失败的坑及解决

《SpringBoot整合Dubbo+ZK注册失败的坑及解决》使用Dubbo框架时,需在公共pom添加依赖,启动类加@EnableDubbo,实现类用@DubboService替代@Service,配... 目录1.先看下公共的pom(maven创建的pom工程)2.启动类上加@EnableDubbo3.实

Python办公自动化实战之打造智能邮件发送工具

《Python办公自动化实战之打造智能邮件发送工具》在数字化办公场景中,邮件自动化是提升工作效率的关键技能,本文将演示如何使用Python的smtplib和email库构建一个支持图文混排,多附件,多... 目录前言一、基础配置:搭建邮件发送框架1.1 邮箱服务准备1.2 核心库导入1.3 基础发送函数二、

java向微信服务号发送消息的完整步骤实例

《java向微信服务号发送消息的完整步骤实例》:本文主要介绍java向微信服务号发送消息的相关资料,包括申请测试号获取appID/appsecret、关注公众号获取openID、配置消息模板及代码... 目录步骤1. 申请测试系统2. 公众号账号信息3. 关注测试号二维码4. 消息模板接口5. Java测试

Python使用smtplib库开发一个邮件自动发送工具

《Python使用smtplib库开发一个邮件自动发送工具》在现代软件开发中,自动化邮件发送是一个非常实用的功能,无论是系统通知、营销邮件、还是日常工作报告,Python的smtplib库都能帮助我们... 目录代码实现与知识点解析1. 导入必要的库2. 配置邮件服务器参数3. 创建邮件发送类4. 实现邮件

macOS Sequoia 15.5 发布: 改进邮件和屏幕使用时间功能

《macOSSequoia15.5发布:改进邮件和屏幕使用时间功能》经过常规Beta测试后,新的macOSSequoia15.5现已公开发布,但重要的新功能将被保留到WWDC和... MACOS Sequoia 15.5 正式发布!本次更新为 Mac 用户带来了一系列功能强化、错误修复和安全性提升,进一步增

使用Python和SQLAlchemy实现高效的邮件发送系统

《使用Python和SQLAlchemy实现高效的邮件发送系统》在现代Web应用中,邮件通知是不可或缺的功能之一,无论是订单确认、文件处理结果通知,还是系统告警,邮件都是最常用的通信方式之一,本文将详... 目录引言1. 需求分析2. 数据库设计2.1 User 表(存储用户信息)2.2 CustomerO

Pyserial设置缓冲区大小失败的问题解决

《Pyserial设置缓冲区大小失败的问题解决》本文主要介绍了Pyserial设置缓冲区大小失败的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录问题描述原因分析解决方案问题描述使用set_buffer_size()设置缓冲区大小后,buf

Docker镜像pull失败两种解决办法小结

《Docker镜像pull失败两种解决办法小结》有时候我们在拉取Docker镜像的过程中会遇到一些问题,:本文主要介绍Docker镜像pull失败两种解决办法的相关资料,文中通过代码介绍的非常详细... 目录docker 镜像 pull 失败解决办法1DrQwWCocker 镜像 pull 失败解决方法2总

pip无法安装osgeo失败的问题解决

《pip无法安装osgeo失败的问题解决》本文主要介绍了pip无法安装osgeo失败的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 进入官方提供的扩展包下载网站寻找版本适配的whl文件注意:要选择cp(python版本)和你py