首页
文档目录
我的

邮箱发送问题解决

PESCMS系列软件都基本配备了邮件通知功能。考虑到不是所有人都会搭建邮件服务器,PESCMS系列软件都以smtp形式发送的。所以要使用PESCMS的邮件通知功能,您需要确保您手头的邮箱账号支持smtp发送。下面我整理了一下常用邮箱的SMTP帮助文档:

腾讯邮箱:http://service.exmail.qq.com/cgi-bin/help?subtype=1&&no=1001254&&id=28

网易邮箱:http://help.163.com/09/1223/14/5R7P3QI100753VB8.html

阿里云邮:http://mailhelp.aliyun.com/freemail/detail.vm?knoId=5869705

Gmail: https://support.google.com/a/answer/176600?hl=zh-Hans (Gmail需要确保服务器可以正常访问Gmail)

常见邮件服务商地址

  1. 网易:

    smtp.163.com
    
    smtp.126.com
    
  2. 腾讯:

    smtp.qq.com
    
  3. 阿里云:

    smtp.mxhichina.com
    
  4. 新浪:

    smtp.sina.com
    
  5. 搜狐

    mail.sohu.net
    
  6. 谷歌:

    smtp.gmail.com
    

其他的邮件服务商请自行咨询服务商。

邮件发送失败常见问题

邮件发送不了。如何解决?

请确认您的发送账号是否已经开启 smtp协议。若已开启,请参照下方参数逐一排查。

  1. 邮箱发送端口依次设置为 25、587尝试。
  2. 检查服务器是否屏蔽了上述端口
  3. 检查当前PHP环境是否安装了 curl、openssl扩展。
  4. 安装邮箱客户端软件,如Foxmail,尝试使用当前账号进行发送邮件。确保账号无误。

调试模式返回“stream_socket_enable_crypto(): SSL operation failed with code 1. OpenSSL Error messages:”

部分旧版程序由于PHPMailer对PHP5.6 - PHP7 存在兼容问题,导致SSL调用出错。解决方法请参考http://stackoverflow.com/questions/26827192/phpmailer-ssl3-get-server-certificatecertificate-verify-failed

最好办法是升级PESCMS到最新版(若有)。

邮箱在第三方软件可以正常,但PESCMS程序无法发送。

出现这个问题,请选使用PESCMS程序邮件发送功能获取出错的原因。

1530166674833592.png

根据错误提示去排错。如图所示:

image.png

一般来说,上述错误都清晰指出错误的地方了。

邮箱测试功能很久才打开,接着502

出现这个问题,可能是由于您的PHP环境配置出错问题了。请根据如下错误排除:

  1. 确认服务器可以链接外网。
  2. 确认服务器25、465,587端口是正常。
  3. 确认PHP安装了openssl扩展。
  4. 确认服务器openssl正常工作。
  5. 确认服务器ca证书是最新的(不正确的ca证书会导致和邮箱服务器连接失败)。

排除服务器问题

要排除是否服务器链接问题,可以使用telnet命令来测试。

Linux服务器使用如下命令:

telnet smtp.qq.com 587

如果有响应,则说明服务器与smtp服务器链接正常,如下图所示:
QQ截图20250224172651.png

Win系统使用如下命令:
由于win默认不支持telnet命令,推荐打开PowerShell。一般在开始菜单,输入PowerShell,会有对应的软件给你点击。这里不作详细说明了。

输入如下命令:

Test-NetConnection -ComputerName smtp.qq.com -Port 587

如果有响应,则说明服务器与smtp服务器链接正常,如下图所示:
QQ截图20250224172934.png