您的位置:

smtp.class.php的简单介绍

本文目录一览:

php邮件发送类smtp.class.php在服务器上发送失败

开启php配置文件的两个扩展:extension=php_sockets.dll和extension=php_openssl.dll,将前面的两个分号去掉就行。

这两个函数呢 然后重启服务

php用smtp 发送邮件失败提示无法连接到主机

PHPMailer是一个邮件发送插件有很多朋友使用它来发邮件,但也有不少朋友在使用期PHPMailer发邮件时就碰到”SMTP 错误:无法连接到 SMTP 主机“错误了,出现这种问题我们从几个点来分享,一个是邮箱配置有问题,另一个是我们的php.ini环境中有些函数没开启导致的,下面我来给各位详细介绍一下问题的排除技巧。

原因分析

出现这个问题说明无法解析 SMTP 主机 主机 id 的名称。

解决办法,这个要看邮箱支付不支持pop3发送与接收邮件这个可以邮件官方看看,如QQ邮件

phpmailer error SMTP Error: Could not connect to SMTP host Could not instantiate mail function

弄了半天,原来是不同邮件系统要求的smtp请求不同,但是都允许大写,有些不支持小写,比如网易,腾讯的邮箱。

原来的设置

$mail-SMTPAuth = true;

$mail-Mailer   = "smtp";

$mail-Host = "smtp.qq.com";

$mail-Port = 25; //设置邮件服务器的端口,默认为25

$mail-Username = "8515888@qq.com";

$mail-Password = "xxxxxxxxxx";

把smtp改成大写就可以了

$mail-Mailer   = "SMTP";

分析问题2,

还有大家就是使用了空间而不是服务器这样有可能像fsockopen、pfsockopen都禁用了,因为phpmailer需要使用fsockopen、pfsockopen才可以发邮件所以就会有问题了。

解决办法

找到class.smtp.php文件,大约在文件的128行吧,有这样一段代码:

// connect to the smtp server

    $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

方法1:将fsockopen函数替换成pfsockopen函数

因为pfsockopen的参数与fsockopen基本一致,所以只需要将@fsockopen替换成@pfsockopen就可以了。

方法2:使用stream_socket_client函数

一般fsockopen()被禁,pfsockopen也有可能被禁,所以这里介绍另一个函数stream_socket_client()。

stream_socket_client的参数与fsockopen有所不同,所以代码要修改为:

$this-smtp_conn = stream_socket_client("tcp://".$host.":".$port, $errno,  $errstr,  $tval);

这样就可以了。

使用php 的 smtp.class.php 发邮件。问题 SMTP Error: MAIL not accepted from server.

有一个PASSWORD的参数,不是邮箱的密码,而是授权码,去邮箱的设置里打开SMTP,设置一个授权码,然后PASSWORD的参数写入这个授权码,就可以使用了

请问这个发送邮箱PHP代码要怎么写

?php

require_once "Smtp.class.php";

//******************** 配置信息 ********************************

$smtpserver = "smtp.126.com";//SMTP服务器

$smtpserverport =25;//SMTP服务器端口

$smtpusermail = "new2008oh@126.com";//SMTP服务器的用户邮箱

$smtpemailto = $_POST['toemail'];//发送给谁

$smtpuser = "new2008oh";//SMTP服务器的用户帐号(或填写new2008oh@126.com,这项有些邮箱需要完整的)

$smtppass = "您的邮箱密码";//SMTP服务器的用户密码

$mailtitle = $_POST['title'];//邮件主题

$mailcontent = "h1".$_POST['content']."/h1";//邮件内容

$mailtype = "HTML";//邮件格式(HTML/TXT),TXT为文本邮件

//************************ 配置信息 ****************************

$smtp = new Smtp($smtpserver,$smtpserverport,true,$smtpuser,$smtppass);//这里面的一个true是表示使用身份验证,否则不使用身份验证.

$smtp-debug = false;//是否显示发送的调试信息

$state = $smtp-sendmail($smtpemailto, $smtpusermail, $mailtitle, $mailcontent, $mailtype);

echo "div style='width:300px; margin:36px auto;'";

if($state==""){

echo "对不起,邮件发送失败!请检查邮箱填写是否有误。";

echo "a href='index.html'点此返回/a";

exit();

}

echo "恭喜!邮件发送成功!!";

echo "a href='index.html'点此返回/a";

echo "/div";

?

phpemail中没有class.smtp.php啊,怎么引入

你好,php中引入方式有两种

1、用include,require直接在文件头部引入

2、借助框架中的自带函数引入,如thinkPHP5,可以直接用use

希望对你有帮助!