利用PHPMailer v5.2.19发送邮件(老版本)

PHPMailer已经更新了很多版本了,新的版本没用过。本教程只针对老版本。

PHPMailer的获取:

PHPMailer项目地址:https://github.com/PHPMailer/PHPMailer 

现在的都是新版本,在历史版本中,找到v5.2.19版本。下载下来并解压。

步骤一:使我们的QQ邮箱能够发送邮件

这里怎么说能够发送邮件呢?其实我们的邮箱都是可以发送邮件的,但是要实现在我们的网站中发送邮件,那就要设置一下我们的QQ邮箱了,因为此时我们的网站现在是作为一个第三方客户端存在的。

这里写图片描述

  1. 由于待会我们用到的是SMTP服务器来发送,在这里建议把前面的两项开启了!当你点击开启的时候,它会提示:

这里写图片描述

当你完成以上步骤之后,就会得到一个授权码,你可以先复制出来,待会我们会用到(开启两项的话会得到两个授权码,用最后的那个授权码!或者点击下面的生成授权码来获取一个新的授权码,一定要最新的!)。

步骤二:使我们的PHP能够使用QQ邮箱发送邮件

PHPMailer需PHP的socket扩展支持,而PHPMailer链接qq域名邮箱时需要ssl加密方式,固php还得openssl的支持,可以查看phpinfo,如下两项均存在则可以使用,其中openssl版本号之类不用管;许多虚拟主机中的php是不支持openssl扩展的,那你可能就悲剧了。

这里写图片描述

步骤三:将PHPMailer做一定的处理

由于我们下载下来的PHPMailer文件夹里边的文件有很多我们是用不上的,所以我们也没必要浪费这些内存。我们可以对这个文件夹瘦身,在这里我只保存了以下的两个文件:class.phpmailer.php、class.smtp.php。 


步骤四:编写发送邮件代码

在这里我是直接封装了一个公共的方法(写在 sendmeil.php 文件中):

<?php
/*发送邮件方法
 *@param $to:接收者 $title:标题 $content:邮件内容
 *@return bool true:发送成功 false:发送失败
 */

function sendMail($to,$title,$content){

    //引入PHPMailer的核心文件 使用require_once包含避免出现PHPMailer类重复定义的警告
    require('class.phpmailer.php');  
    require('class.smtp.php');
    $mail = new PHPMailer(); //实例化  
	  
	$mail->IsSMTP(); // 启用SMTP  
	  
	//$mail->Host = "smtp.163.com"; //SMTP服务器 163邮箱例子  
	//$mail->Host = "smtp.126.com"; //SMTP服务器 126邮箱例子  
	$mail->Host = "smtp.qq.com"; //SMTP服务器 qq邮箱例子  
	  
	$mail->Port = 465;  //邮件发送端口  
	$mail->SMTPAuth   = true;  //启用SMTP认证  
	  
	$mail->CharSet  = "UTF-8"; //字符集  
	$mail->Encoding = "base64"; //编码方式  
	// 设置使用ssl加密方式登录鉴权
	$mail->SMTPSecure = 'ssl';
	  
	$mail->Username = 'XXXXXX@qq.com';   // SMTP 发件人邮件地址
	$mail->Password = 'XXXXXXXXX';     //邮箱授权码
	$mail->Subject = $title; //邮件标题  
	  
	$mail->From = "XXXXXXXX@qq.com";  //发件人地址(也就是你的邮箱)  
	$mail->FromName = "XX";   //发件人姓名  
	  
	$mail->AddAddress($to, "xxx1");    //添加收件人1(地址,昵称)  
	//$mail->AddAddress($address2, "xxx2");    //添加收件人2(地址,昵称)  
	  
	//$mail->AddAttachment('xx.xls','我的附件.xls'); // 添加附件,并指定名称  
	//$mail->AddAttachment('xx1.xls','我的附件1.xls'); // 可以添加多个附件  
	//$mail->AddAttachment('xx2.xls','我的附件2.xls'); // 可以添加多个附件  
	  
	$mail->IsHTML(true); //支持html格式内容  
	//$mail->AddEmbeddedImage("logo.jpg", "my-attach", "logo.jpg"); //设置邮件中的图片  
	$mail->Body = $content; //邮件主体内容 
 
    $status = $mail->send(); 
    //简单的判断与提示信息
    if($status) {
        return true;
    }else{
        return false;
    }
}

?>

好了,现在我们在dome.php中调用该公共方法来测试一下,我要发送一篇邮件给 1234568@qq.com 通知。

<?php
require_once("PHPMailer/sendmeil.php");
$flag = sendMail('1234568@qq.com','通知','这是一封系统邮件!');
if($flag){
    echo "发送邮件成功!";
}else{
    echo "发送邮件失败!";
}
?>

本文项目结构



文章参考:PHP中利用PHPMailer配合QQ邮箱实现发邮件





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值