用phpmailer类开发邮件发送,执行成功,但接收不到邮件
本文介绍了用phpmailer类开发邮件发送,执行成功,但接收不到邮件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
如题:用phpmailer类开发邮件发送,执行成功,但接收不到邮件
下面是代码 代码是我在网上找的、类也是 ,大牛帮忙解决一下,谢谢
require 'phpmail/PHPMailer.class.php';
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->CharSet = 'utf-8';
$mail->Host = 'smtp.qq.com';//这里设置你要选择发送的邮箱类型
// 如果是QQMAIL必须用设置SSL还有端口
$mail->SMTPSecure = 'ssl'; //设置使用ssl加密方式登录鉴权
$mail->Port = 465;//设置ssl连接smtp服务器的远程服务器端口号 可选465或587
$mail->SMTPAuth = true; //smtp需要鉴权 这个必须是true
$mail->Username = '1318193186@qq.com';//这里设置你选的邮箱的用户名
$mail->Password = '56954585';//QQ邮箱的话,这里设置你选的邮箱的密码,授权码;如果是其他邮箱则是邮箱密码
$mail->From = '1318193186@qq.com';//发送邮件的邮箱地址
$mail->FromName = 'Jacko';//发送邮件的名字
$mail->Subject = '测试';//这个好像是标题
$mail->Body = '你好,这封是测试邮件';//这个好像是内容
$mail->AddAddress("1318193179@qq.com", $name = "小明");//第一个是接收人的邮箱的地址,第二个是接收人的名字
$result = $mail->send();
if($result){
echo '发送成功';
}else{
echo '发送失败';
}
解决方案
邮件发送过程中,错误可能有很多,文件未包裹的空白字符、邮箱平台都可能导致程序莫名崩溃,我的建议是不要用QQ邮箱,试一下126邮箱。
这是我之前测试通过的代码:
<?php
function sendMail($address,$title,$content){
require("./PHPMailer/class.phpmailer.php");
$mail = new PHPMailer();
$mail->IsSMTP(); // set mailer to use SMTP
$mail->Host = "smtp.126.com"; // specify main and backup server
$mail->SMTPAuth = true; // turn on SMTP authentication
$mail->Username = "roadcover@126.com"; // SMTP username
$mail->Password = "wangyi126"; // SMTP password
$mail->From = "roadcover@126.com";
$mail->FromName = "Mailer";
$mail->AddAddress($address); // name is optional
//$mail->AddReplyTo("info@example.com", "Information");
//$mail->WordWrap = 50; // set word wrap to 50 characters
//$mail->AddAttachment("/var/tmp/file.tar.gz"); // add attachments
//$mail->AddAttachment("/tmp/image.jpg", "new.jpg"); // optional name
$mail->IsHTML(true); // set email format to HTML
$mail->CharSet='UTF-8';
$mail->Subject = $title;
$mail->Body = $content;
//$mail->AltBody = "This is the body in plain text for non-HTML mail clients";
if(!$mail->Send())
{
echo "Message could not be sent. <p>";
echo "Mailer Error: " . $mail->ErrorInfo;
exit;
}
echo "Message has been sent";
}
sendMail("roadcover@126.com","测试",'hello,world');
?>
你简单改一下代码即可,仅注意:$mail->Password 的密码不是指邮箱登陆密码,是指登陆后STMP认证密码,如果对你有帮助,请为我点个赞:),谢谢。
这篇关于用phpmailer类开发邮件发送,执行成功,但接收不到邮件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文