phpmailer 发送邮件失败
2015-06-15 18:08
597 查看
在将服务器由windows server2008更换为linux安装XAMPP之后,发送邮件老是提示 SMTP Error: Could not connect to SMTP host.
最开始安装网上说的为 fsockopen被禁用;
按照解决方法
1、在php.ini中开启allow_url_fopen = On
2、去掉 extension=php_openssl.so 前面的分号
3、注释掉 disable_function
都没能解决问题
最后解决方法为:
更改为:
注意到区别没有,将小写的smtp更改为大写的SMTP
linux下面完全区分大小写
进行上诉操作之后,程序是没有提示错误了,但是就是不能正确的收到邮件,经过检查是XAMPP在linux上安装之后php的扩展并没有一并安装,缺少socket的动态文件
解决方法:
1、检查是否有socket.so; ls /opt/lampp/lib/php/extensions/no-debug-non-zts-20131226/sockets.so
2、安装xampp之后在/opt/lamp/bin中会有phpize文件。
3、下载php源代码,切换到ext/sockets/文件夹下面执行 /opt/lamp/bin/phpize
4、之后会出现configure文件,执行
5、如果你的linux上没有安装gcc,那么请先安装gcc
最开始安装网上说的为 fsockopen被禁用;
按照解决方法
1、在php.ini中开启allow_url_fopen = On
2、去掉 extension=php_openssl.so 前面的分号
3、注释掉 disable_function
都没能解决问题
最后解决方法为:
/** * Sets Mailer to send message using SMTP. * @return void */ public function IsSMTP() { $this->Mailer = 'smtp'; }
更改为:
/** * Sets Mailer to send message using SMTP. * @return void */ public function IsSMTP() { $this->Mailer = 'SMTP'; }
注意到区别没有,将小写的smtp更改为大写的SMTP
linux下面完全区分大小写
进行上诉操作之后,程序是没有提示错误了,但是就是不能正确的收到邮件,经过检查是XAMPP在linux上安装之后php的扩展并没有一并安装,缺少socket的动态文件
解决方法:
1、检查是否有socket.so; ls /opt/lampp/lib/php/extensions/no-debug-non-zts-20131226/sockets.so
2、安装xampp之后在/opt/lamp/bin中会有phpize文件。
3、下载php源代码,切换到ext/sockets/文件夹下面执行 /opt/lamp/bin/phpize
4、之后会出现configure文件,执行
./configure --enable-sockets --with-php-config=/opt/lampp/bin/php-config //指定sockets.so安装位置到/opt/lampp/lib/php/extensions/no-debug-non-zts-20131226/ make make install
5、如果你的linux上没有安装gcc,那么请先安装gcc
相关文章推荐
- PHP数组函数的分组归纳
- PHP 鸟哥:我也曾经是“不适合”编程的人
- getsockname函数与getpeername函数的使用
- PhpStorm 注册码
- PHP正则验证Email的方法
- vaftpd源码安装及配置教程
- thinkphp模板中foreach循环没数据的错误解决
- PHP实现通过正则表达式替换回调的内容标签
- windows 上搭建laravel框架
- laravel下的团队开发
- laravel 创建表 字段列举
- SFTP下载客户端[单用户多线程、限速、取消、断点续传]
- PHPCMS 实现上一篇下一篇的几种方法
- php使用mysqlnd引发的一些问题处理
- php simple_html_dom 一个iconv错误引起解析中断的问题,貌似内存溢出
- PHP检测用户语言的方法
- win7 64位 php无法加载mysql扩展的问题
- HP QR Code (php二维码生成类库)
- Yii中relations的用法
- php实现求相对时间函数