本文目录一览:
- 1、php邮件发送类smtp.class.php在服务器上发送失败
- 2、php用smtp 发送邮件失败提示无法连接到主机
- 3、使用php 的 smtp.class.php 发邮件。问题 SMTP Error: MAIL not accepted from server.
- 4、请问这个发送邮箱PHP代码要怎么写
- 5、phpemail中没有class.smtp.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
希望对你有帮助!