php网站在服务器上邮件发送不了,在本地可以

标签: php邮箱
2015-11-27 13:58 879人阅读
评论(0) 收藏
举报
php网站在服务器上邮件发送不了,在本地可以
分类:
php(2) php网站在服务器上邮件发送不了,在本地可以

版权声明:本文为博主原创文章,未经博主允许不得转载。

最近在做phpmailer发送邮件功能里发现了一个问题,网站程序在本地测试邮件可以正常发送到指定的邮箱。

但是把代码放到空间上面,邮件发不了,提示发送出错!研究半天没有搞懂为什么 ……(高手勿喷)

后来上网找了一下,有人说是服务器商因为安全原因把PHP 的 fsockopen
函数给关闭了。

于是按照网上的解决方法把fsockopen函数替换了,方法如下:网址:yii666.com<网址:yii666.com

首先找到
phpmailer 的 class.stmp.php文件:

[php] view plain copy
  1. $this->smtp_conn = @fsockopen( $host,    // the host of the server
  2. $port,    // the port to use
  3. $errno,   // error number if any
  4. $errstr,  // error message if any
  5. $tval);   // give up after ? secs

把“ @fsockopen”改为“@stream_socket_client”(注意两个函数的参数是不一样的)

1
2
3
4

$this
->smtp_conn = @stream_socket_client( $host.’:’.$port,    // the host of the server

                                  
$errno,   // error number if any

                                  
$errstr,  // error message if any

                                  
$tval);   // give up after ? secs

这里 PHP版本应高于 5.0 的,因为较早版本没有stream_socket_client()函数的。文章来源地址:https://www.yii666.com/article/754147.html

另外如果服务器商没有把pfsockopen函数关闭的话也可以使用这个函数替换,这个函数的写法跟“fsockopen”是一样的,所以这里就不贴代码了。文章来源地址https://www.yii666.com/article/754147.html

提醒一下如果你是使用的万网的主机可以自己主机管理里面的高级设置中看一下是不是fsockopen函数被关闭了。

阿里云主机设置:

fsockopen函数
您是想问

Linux 系统云虚拟主机 PHP.ini设置

问题场景:

使用虚拟主机过程中,客户经常需要开启相关函数和设置环境参数,该操作客户可以自行完成。

操作方法:

登录到 主机管理控制台 >
高级环境设置 ,即可显示您需要修改的函数和环境参数。选择后,单击
保存设置 即可。

如下截图:

php网站在服务器上邮件发送不了,在本地可以文章地址https://www.yii666.com/article/754147.html

如问题还未解决,请联系售后技术支持。

阿里云:会员中心--》左侧的虚拟机--》选中虚拟机--》高级环境配置---》php.ini配置

版权声明:本文内容来源于网络,版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。文本页已经标记具体来源原文地址,请点击原文查看来源网址,站内文章以及资源内容站长不承诺其正确性,如侵犯了您的权益,请联系站长如有侵权请联系站长,将立刻删除

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信图片_20190322181744_03.jpg

微信扫一扫打赏

请作者喝杯咖啡吧~

支付宝扫一扫领取红包,优惠每天领

二维码1

zhifubaohongbao.png

二维码2

zhifubaohongbao2.png