PHPMailer在SAE上无法发送邮件的解决方法

在SAE上直接用5.2.7之前版本的PHPMailer发送邮件会出现错误,原因在于PHPMailer默认使用stream_socket_client()来建立socket,而SAE禁用了这个函数。WordPress使用的就是5.2.7版本的PHPMailer,因此也会出现同样的问题。

解决方法很简单,修改class.smtp.php (WordPress中是wp-includes/class-smtp.php)中

$this->smtp_conn = @stream_socket_client(
$host . ":" . $port,
$errno,
$errstr,
$timeout,
STREAM_CLIENT_CONNECT,
$socket_context
);

$this->smtp_conn = fsockopen($host, $port, $errno, $errstr);
即可。

最新的5.2.8版PHPMailer已经解决了这个问题。

时间: 2024-08-01 04:03:49

PHPMailer在SAE上无法发送邮件的解决方法的相关文章

当jquery ajax遇上401请求的解决方法_jquery

jquery ajax是个很常用接口,而在请求时候,可能存在响应401的情况(身份认证过期或未登录),比较容易出现在混合应用上,如何进行身份认证,重发失败请求,还是值得注意的. ajax请求有两种方式 1. 回调 最常写的方式,成功失败处理以回调方式传入. $.ajax({ ajax参数... success : xxxxxx error: xxxxxx }); 2. Deferred方式 Deferred模式我在<js异步编程>有说明, ajax调用本身返回就是一个Deferred对象,成功

Win8中谷歌浏览器无法上传网站附件解决方法

在Windows 8中使用chrome浏览器的用户可能会遇过部分网站或者论坛无法上传附件,无法弹出窗口添加文件,或一些在线视频无法播放.这对于chrome粉带来大大的不方便啊,需要用IE TAB插件来切换或备用个浏览器. 其实解决方法还是有的,之前被这问题烦很久,让PC6来教你.小编亲测成功了. 这个不是chrome的错,是flash插件的问题,chrome内置的flash插件出错冲突. 解决方法如下: 1.Chrome地址栏输入chrome://plugins/,找到Flash (2 file

IE7.0以下版本列表li中的元素错位一个上一个下的解决方法

在IE7.0以下time元素与a元素错位,一个在上,一个在下.导致的原因是这种情况下span-time元素的margin-top会自动增加20px左右,具体的解决方法如下,感兴趣的朋友可以参考下   HTML: 复制代码 代码如下: <li><span class="tag">[${ross.parentName}] </span><a href="../ShowNews?id=${ross.newsID}">${ro

memcached安装在windows7上的问题及解决方法

memcached安装在windows7上的问题: 通过cmd命令行进入到D:webEvememcached(下载后的解压目录) 运行 memcached.exe -d install 报错" failed to install service or service already installed" 解决方法: 管理员身份安装,首先找出cmd.exe的原文件 右击以管理员身份运行,接下来就OK(win7下的用户还真麻烦). Windows下的Memcache安装: 1. 下载mem

Mac中Eclipse连不上Android手机的解决方法_Android

现象是: Windows下Eclipse可以连接Device里能显示设备名称,但是在Mac OS X下的Eclipse Device始终不能显示连接. 解决方法: 1.把Android手机开启调试模式,然后连接在我们的Mac OS上. 2.选择Mac的 关于本机->更多信息-> 系统报告->找到usb选项,右边会出现一系列和usb相关的设备我们找到自己的Android设备并选中. 3.选中后找到 供应商ID或叫厂商ID,我的MX4手机显示的供应商ID是:0x2a45 4.打开Mac终端

在SAE上搭建最新wordpress的方法_php实例

安装SAE上的wordpress,创建应用选择wordpress模板,安装后是3.4版本 新建一个版本2,下载最新wordpress安装包并解压到版本2中 初步猜想修改地方: 数据库配置:wp-config.php 复制代码 代码如下: <?php /**  * WordPress 基础配置文件.  *  * 本文件包含以下配置选项: MySQL 设置.数据库表名前缀.  * 密匙.WordPress 语言设定以及 ABSPATH.如需更多信息,请访问  * {@link http://code

鼠标在flash超链接上不停抖动的解决方法

hwqzw)问:把flash导入DW之后,为什么鼠标放在flash的超链接上会不停的抖动啊?怎么样解决呢? 回答1:可以在flash 按钮上加个透明的背景,如果是文字的话就有这种问题!(hwqzw:我用的就是透明的区域做的按钮啊,单独看flash很正常,可是一加到asp网页里就会抖.) 解决方法:原因是flash与MARQUEE冲突,当网站滚动公告时,不断刷新,flash也受到影响.解决办法是把滚动公告内容放在iframe框架中,就可以完美解决.

windows下使用IIS配置的PHP无法上传文件的解决方法_win服务器

延续<Windows Server 2003中iis配置php>一文 服务器上使用Apache2+PHP正常运行,换成IIS+PHP,先后出现了php.ini的环境变量无法读取,php中验证码无法显示的问题,如今又有人反应无法上传图片的问题. 从IIS替换Apache2的过程仅仅是开启IIS,关闭Apache2,其它的没什么变化,但是却发生了如此多的差异,看样子IIS支持PHP还是有很多要进行修改的. 分析: 根据上面的描述,我怀疑问题出在IIS的权限配置上,IUSR_MACHINE的帐户对u

Mac中Eclipse连不上Android手机的解决方法

现象是: Windows下Eclipse可以连接Device里能显示设备名称,但是在Mac OS X下的Eclipse Device始终不能显示连接. 解决方法: 1.把Android手机开启调试模式,然后连接在我们的Mac OS上. 2.选择Mac的 关于本机->更多信息-> 系统报告->找到usb选项,右边会出现一系列和usb相关的设备我们找到自己的Android设备并选中. 3.选中后找到 供应商ID或叫厂商ID,我的MX4手机显示的供应商ID是:0x2a45 4.打开Mac终端