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

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

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

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

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

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

$this->smtp_conn = @fsockopen( $host,    // the host of the server
                                  $port,    // the port to use
                                  $errno,   // error number if any
                                  $errstr,  // error message if any
                                  $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()函数的。

另外如果服务器商没有把pfsockopen函数关闭的话也可以使用这个函数替换,这个函数的写法跟“fsockopen”是一样的,所以这里就不贴代码了。

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


  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用支持HTTP服务器的软件来在本地服务器上打开HTML文件,例如Apache、Nginx等。另外,也可以使用Node.js的模块,例如http-server来搭建一个简易的HTTP服务器,然后打开本地的HTML文件。 ### 回答2: 要在本地服务器上打开html文件,而不是在文件夹内直接打开,可以按照以下步骤操作: 1. 安装一个本地服务器软件,比如XAMPP、WampServer、MAMP等。这些软件都提供了Apache服务器以及相应的PHP和MySQL支持。 2. 将你的html文件复制到服务器软件的相关文件夹中。不同的本地服务器软件可能有不同的文件夹位置。通常,在安装目录中有一个名为"htdocs"或"www"的文件夹,你可以将你的html文件放在这个文件夹中。 3. 启动本地服务器软件。打开软件,启动Apache服务器。 4. 在浏览器中输入"localhost"或"127.0.0.1"来访问本地服务器。 5. 在浏览器地址栏输入"http://localhost/你的html文件名.html",然后按下回车键。 6. 就会在浏览器中打开你的html文件,并在本地服务器上运行。 通过上述步骤,你可以在本地服务器上打开html文件,并且可以通过浏览器访问这个文件。这样做的好处是,服务器可以提供更多的功能,比如PHP和数据库支持,同时也更加符合网站开发的需求。 ### 回答3: 要在本地服务器上打开HTML文件,而不是直接在文件夹中打开,你需要按照以下步骤进行操作: 1. 首先,确保你已经安装了一个本地服务器环境,比如使用Apache或Nginx等服务器软件。 2. 将你的HTML文件放置在服务器的根目录下,通常在服务器软件的安装目录中可以找到一个叫做"htdocs"或"www"的文件夹。将HTML文件放在此文件夹内。 3. 启动本地服务器。打开你的服务器软件,启动服务器服务。 4. 在浏览器中输入本地服务器的地址。通常默认情况下,你可以在浏览器的地址栏中输入"http://localhost"来访问本地服务器。 5. 输入HTML文件的路径。根据你的文件结构,输入HTML文件的路径来访问它。例如,如果你的HTML文件名为index.html,它位于服务器根目录下,则在浏览器中输入"http://localhost/index.html"即可打开该文件。 通过按照上述步骤,你将能够在本地服务器上打开HTML文件,这样可以运行其中的脚本和样式,并查看在服务器环境中的效果。这对于开发和测试网页或网站非常有用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值