用phpmailer类开发邮件发送,执行成功,但接收不到邮件

查看:124
本文介绍了用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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆