您的位置:首页 > 编程语言 > PHP开发

TP5使用phpmailer发送邮件

2020-07-16 06:05 706 查看

简介

phpMailer 是一个非常强大的php发送邮件类,可以设定发送邮件地址、回复地址、邮件主题、html网页,上传附件,并且使用起来非常方便。

开启STMP服务

QQ邮箱开启STMP服务

所有的主流邮箱都支持 SMTP 协议,但并非所有邮箱都默认开启,您可以在邮箱的设置里面手动开启。

第三方服务在提供了账号和密码之后就可以登录 SMTP 服务器,通过它来控制邮件的中转方式。

进去网页邮箱,点击设置->账户->开启IMAP服务

一顿操作之后,就能看到授权码

SMTP 服务器认证密码,需要妥善保管(PS:密码直接没有空格)

网易邮箱开启STMP服务

在这里就不多加演示了,跟QQ开启方式差不多,不懂问度娘。

使用composer安装phpmailer

composer require phpmailer/phpmailer

使用PHPmailer

在应用公共文件common.php写个发送邮件的函数(腾讯邮箱的为例),需要注意的是实例化PHPMailer因为如果路径不对会报错(***类名不存在)

代码编写

<?php
/**
* Created by PhpStorm.
* User: 加油鸭
* Date: 2020/06/07
* Time: 15:43
*/

/**
* Notes:发送邮件
* @param string $tomail 接收邮件者邮箱
* @param string $name 接收邮件者名称
* @param string $subject 邮件主题
* @param string $body 邮件内容
* @param string $attachment 附件列表
* @return boolean
* @throws phpmailerException
*/
function send_mail($tomail, $name, $subject = '', $body = '', $attachment = null) {
$mail = new PHPMailer\PHPMailer\PHPMailer();           //实例化PHPMailer对象
$mail->CharSet = 'UTF-8';           //设定邮件编码,默认ISO-8859-1,如果发中文此项必须设置,否则乱码
$mail->IsSMTP();                    // 设定使用SMTP服务
$mail->SMTPDebug = 0;               // SMTP调试功能 0=关闭 1 = 错误和消息 2 = 消息
$mail->SMTPAuth = true;             // 启用 SMTP 验证功能
$mail->SMTPSecure = 'ssl';          // 使用安全协议
$mail->Host = "smtp.qq.com"; // SMTP 服务器
$mail->Port = 465;                  // SMTP服务器的端口号
$mail->Username = "******@qq.com";    // SMTP服务器用户名
$mail->Password = "******";     // SMTP服务器密码,这里是你开启SMTP服务时生成密码
$mail->SetFrom('******@qq.com', $name);
$replyEmail = '';                   //留空则为发件人EMAIL
$replyName = '';                    //回复名称(留空则为发件人名称)
// $mail->addAttachment('../xy.zip');         // 添加附件
// $mail->addAttachment('../thumb-1.jpg', 'new.jpg');    // 发送附件并且重命名
$mail->AddReplyTo($replyEmail, $replyName);
$mail->Subject = $subject;
$mail->MsgHTML($body);
$mail->AddAddress($tomail, $name);
if (is_array($attachment)) { // 添加附件
foreach ($attachment as $file) {
is_file($file) && $mail->AddAttachment($file);
}
}
return $mail->Send() ? true : $mail->ErrorInfo;
}

新建Email控制器,调用Common.php

<?php
namespace app\index\controller;

use think\Controller;

class Email extends Controller
{

public function send_email()
{
$toemail='******1@qq.com';//收件人邮箱
$name='彼得潘';//接收邮件者名称
$subject='QQ邮件发送测试';//邮件主题
$content='恭喜你,邮件测试成功。';//邮件内容
//调用方法发送邮件
$dd = send_mail($toemail,$name,$subject,$content);
dump($dd);
}
}

运行之后,你就会看到你的邮件提示信息啦。

小编的介绍就到这里了,希望对此刻的你有所帮助,溜了溜了~

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: