php利用PHPMailer发送邮件
1.composer集成PHPMailer
在项目跟目录下执行以下命令,把小组件集成到羡慕中:
composer require phpmailer/phpmailer
以下代码是集成在Thinkphp5中,否则在实例化PHPMailer类之前,请先写入以下代码:
require 'PHPMailerAutoload.php'; //注意文件的项目路径
2.简单的demo发送文件的函数(已通过测试)
<?php
function sendEmail($to,$title,$contents){
$mail = new \PHPMailer;
$mail = new PHPMailer;
//$mail->SMTPDebug = 3; // 启用详细调试输出
$mail->isSMTP(); // 设置邮件使用SMTP
$mail->Host = 'smtp.qq.com'; // 指定主和备份SMTP服务器
$mail->SMTPAuth = true; // 开启SMTP认证
$mail->Username = 'xxxxxxxx@xx.xxx'; // SMTP用户名,一般就是邮箱
$mail->Password = 'xxxxxxxxxxxxxxxx'; // SMTP授权码,注意不是密码
$mail->SMTPSecure = 'tls'; // 支持tls和ssl
$mail->Port = 25 // 服务器端口
$mail->setFrom('我是发送地址邮箱', '我是发件人'); //我是发送地址邮箱 可以是发送邮箱
$mail->addAddress($to,'LYPHPER'); // 收件人地址 可以是收件人邮箱
$mail->isHTML(true); // 设置电子邮件格式
$mail->Subject = $title;
$mail->Body = $contents;
//$mail->AltBody = 'xxxxxxx';
//$mail->addCC('cc@example.com');
//$mail->addBCC('bcc@example.com');
//$mail->addAttachment('/tmp/image.jpg', 'new.jpg'); // 添加附件
if(!$mail->send()) {
echo '发送失败';
echo '错误是: ' . $mail->ErrorInfo;
} else {
echo '发送成功';
}
}
注意:函数中
to是邮件接受者的email地址;
title是邮件的标题;contents是邮件的主体内容;
在函数中 如果端口号输入错误的话,会导致请求非常缓慢,务必端口号一定要正确;在使用该功能前请确定邮箱开启了ssl功能。