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

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

标签:
php
邮箱
2015-11-27 13:58
879人阅读
评论(0)
收藏
举报

php网站在服务器上邮件发送不了,在本地可以 分类:
php
(2)
php网站在服务器上邮件发送不了,在本地可以

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

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

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

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

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

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

  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()函数的。

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

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

阿里云主机设置:

fsockopen函数
您是想问

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

问题场景:

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

操作方法:

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

如下截图:

17.png

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/114274.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • c# listview排序功能_c#入门

    c# listview排序功能_c#入门ListViewColumnSorter.csusingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Collections;usingSystem.Windows.Forms;namespaceMicroblue{   classListViewColumnSorter:IComparer   {       /**/       ///       

    2022年10月3日
    0
  • java连接redis集群方式_redis java

    java连接redis集群方式_redis javapackageorg.rx.util;importorg.redisson.Redisson;importorg.redisson.api.RedissonClient;importorg.redisson.config.Config;importorg.springframework.beans.factory.annotation.Autowired;im…

    2022年10月12日
    0
  • vue 生成二维码 打印_代码生成二维码

    vue 生成二维码 打印_代码生成二维码npminstallqrcodejs2–save<template><div><divid=”qrCode”ref=”qrCodeDiv”></div></div></template><script>importQRCodefrom’qrcodejs2′;exportdefault{name:”qrCode”,data(){.

    2022年9月26日
    0
  • flake8 格式化代码_java代码规范

    flake8 格式化代码_java代码规范flake8(代码规范利器)概述flake8是下面三个工具的封装:1)PyFlakes2)Pep83)NedBatchelder’sMcCabescriptFlake8的下载地址:https://pypi.python.org/pypi/flake8,优点是可扩展。Flake8通过启动单独的flake8脚本运行所有工具,它在一个Per文件中显示告警,合并到输出中…

    2022年9月3日
    3
  • int32_t是什么数据类型_int32_t什么意思

    int32_t是什么数据类型_int32_t什么意思个人理解*_t中的t可以理解为typedefine。由于各个平台中对基本数据的大小定义不一样,为了兼容各个平台,C语言利用预编译和typedef可以让你最有效的维护你的代码。其实这些都不是新的数据类型,为了用户的方便,C99标准的C语言硬件为我们定义了这些类型,我们放心使用。如:int32_t其实就是32位int类型数据。附:C99标准中inttypes.h的内容000010001700…

    2022年9月20日
    0
  • Lamp架构_lamp服务器

    Lamp架构_lamp服务器LAMP架构搭建1.LAMP架构简介所谓lamp,其实就是由Linux+Apache+Mysql/MariaDB+Php/Perl/Python的一组动态网站或者服务器的开源软件,除Linux外其它各部件本身都是各自独立的程序,但是因为经常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。LAMP指的是Linux(操作系统)、Apache(HTTP服务器)、MySQL(也指MariaDB,数据库软件)和PHP(有时也是指Perl或Python)的第一个字母,一般用来建

    2022年10月17日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号