phpmailer在服务器上不能正常发送邮件的解决办法
phpmailer本身是一个很不错的开源邮件类,也非常的易用简单,就是偶尔会出现程序上传到服务器上不能发送邮件的情况,在之前也有同学问过我这个问题,当时的时候总是不以为然,今天终于让我碰上了,用phpmailer 在本地测试正常,上传到服务器上就不行了,当然了是用的SMTP方式,最终确定是fsockopen 函数惹的祸,因为安全原因fsockopen 和pfsockopen 经常被服务器端关闭。解决方法如下:
而代之的应该是 stream_socket_client()函数,不过他的参数有一点不一样。
应这样更改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
改为
$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()函数的。
OK ,问题解决了。
相关推荐
-
php邮件发送,php发送邮件的类
smtp.class.php 这个是类把他做保存到一个文件中. 复制代码 代码如下: <?php class smtp { /* Public Variables */ var $smtp_port; var $time_out; var $host_name; var $log_file; var $relay_host; var $debug; var $auth; var $user; var $pass; /* Private Variables */ var $sock; /* Con
-
PHPMailer邮件类利用smtp.163.com发送邮件方法
第一步:需要下载PHPMailer文件包phpmailer-1.73.tar.gz 来自开源社区: http://phpmailer.sourceforge.net/ 第二步:确认你的服务器系统已经支持socket 如下图,通过phpinfo();查看是否支持sockets 如果没有这一项就请注意: socket 是属于PHP扩展部分,编译时必须给定一个用于./configure --enable-sockets 的配置选项. 第三步:把文件解压到你的web服务器目录下,调用类就可以了,说明:首
-
php 发送带附件邮件示例
emailclass.php 复制代码 代码如下: <? class CMailFile { var $subject; var $addr_to; var $text_body; var $text_encoded; var $mime_headers; var $mime_boundary = "--==================_846811060==_"; var $smtp_headers; function CMailFile($subject,$to,$fro
-
php中mail函数发送邮件失败的解决方法
本文实例讲述了php中mail函数发送邮件失败的解决方法.分享给大家供大家参考.具体分析如下: php中mail函数是一个自带的发邮件的函数,但是如果你真的要使用mail函数来发邮件那必须是要给你系统安装sendmail组件才可以,下面我就碰到mail发送不了邮件的问题,下面一起来看看解决办法吧. 之前的那台服务器转移过来后,发现网站用mail()发送邮件发不了,但是发现sendmail明明已经安装,如果没有安装sendmail可以执行,代码如下: 复制代码 代码如下: yum install
-
PHPMailer使用教程(PHPMailer发送邮件实例分析)
php虽然提供了mail()函数,但并不好用,而PHPMailer是一个不错的邮件发送工具,使用起来也是非常简单! 使用PHPMailer发送邮件: 复制代码 代码如下: <?php header("content-type:text/html;charset=utf-8"); ini_set("magic_quotes_runtime",0); require 'class.phpmailer.php'; try { $mail = new PHPMaile
-
php邮件发送的两种方式
这篇文章研究的主要内容就是使用PHP来发送电子邮件,总结为以下两种方法: 一.使用PHP内置的mail()函数 <?php $to = "test@163.com"; //收件人 $subject = "Test"; //主题 $message = "This is a test mail!"; //正文 mail($to,$subject,$message); 结果就直接报错,如下: Warning: mail() [function.m
-
ThinkPHP5邮件发送服务封装(可发附件)
本文实例为大家分享了ThinkPHP5封装邮件发送服务的具体代码,供大家参考,具体内容如下 1.Composer安装phpmailer composer require phpmailer/phpmailer 2.ThinkPHP中封装邮件服务类 我把它封装在扩展目录 extend/Mail.php 文件里,内容如下: <?php /** * 邮件服务类 */ class Mail extends \PHPMailer { function __construct() { date_defaul
-
功能齐全的PHP发送邮件类代码附详细说明
<?php class Email { //---设置全局变量 var $mailTo = ""; // 收件人 var $mailCC = ""; // 抄送 var $mailBCC = ""; // 秘密抄送 var $mailFrom = ""; // 发件人 var $mailSubject = ""; // 主题 var $mailText = "";
-
使用php发送有附件的电子邮件-(PHPMailer使用的实例分析)
复制代码 代码如下: /*PHPMailer是一个用于发送电子邮件的PHP函数包.它提供的功能包括: *.在发送邮时指定多个收件人,抄送地址,暗送地址和回复地址 *.支持多种邮件编码包括:8bit,base64,binary和quoted-printable *.支持SMTP验证 *.支持冗余SMTP服务器 *.支持带附件的邮件和Html格式的邮件 *.自定义邮件头 *.支持在邮件中嵌入图片 *.调试灵活 *.经测试兼容的SMTP服务器包括:Sendmail,qmail,Postfix,Imai
-
phpmailer简单发送邮件的方法(附phpmailer源码下载)
本文实例讲述了phpmailer简单发送邮件的方法.分享给大家供大家参考,具体如下: 首先,点击此处本站下载相应的php文件. 解压后有2个php文件(2个类) 1个html文件(API) 将2个php文件放到php项目中 简述:我这里是用一个163的邮箱发消息给126的邮箱 关键代码如下: <?php require 'class.phpmailer.php'; $mail = new PHPMailer(true); //建立邮件发送类 $mail->CharSet = "UT
随机推荐
- Mootools 1.2教程 输入过滤第一部分(数字)
- AngularJS service之select下拉菜单效果
- Vue.extend构造器的详解
- Flex调Javascript打开新窗口示例代码
- mysql 5.0.45 (修改)拒绝服务漏洞
- vue页面使用阿里oss上传功能的实例(二)
- HTML5+Canvas调用手机拍照功能实现图片上传(上)
- ASP.NET中GridView的文件输出流方式
- JSP中获取ExtJS.Ajax前台传递的JSON数据实现过程
- PHP 日期时间函数的高级应用技巧
- 使用xampp搭建运行php虚拟主机的详细步骤
- SWT(JFace)体验之模拟BorderLayout布局
- MySQL配置文件my.cnf中文版对照
- 一个已封装好的漂亮进度条
- PHP学习笔记之php文件操作
- 浅谈js中对象的使用
- SQL行号排序和分页(SQL查询中插入行号 自定义分页的另类实现)
- 用js制作淘宝放大镜效果
- 聊一聊JS中的prototype
- iis7.5 gzip时有时无的解决方法