PHP使用phpmailer发送邮件

PHP使用phpmailer发送邮件

前言

现今对于用户登录除了密码验证外,都有额外的验证机制;验证码防止机器登录,短信验证、邮箱验证确保本人登录等。

使用邮箱发送验证信息,需要一个发送邮件的账号,例如QQ邮箱验证,需要在QQ邮箱中设置开启IMAP/SMTP服务。在QQ邮箱中找到如下设置开启:
smtp

demo示例:

1、PHP发送邮件,需下载一个phpmailer插件包,通过composer下载依赖包。

1
composer require phpmailer/phpmailer

2、发送邮件代码示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<?php
// 使用上述插件
require_once './vendor/autoload.php';
use PHPMailer\PHPMailer\PHPMailer;

/**
* @param $receiveMail
*/
function sendMails($receiveMail)
{
$mail = new PHPMailer();
// var_dump($mail);exit;
// 服务器设置
$mail->SMTPDebug = 0; // 是否开启Debug调试模式 0不开启 1开启
$mail->isSMTP(); // 使用SMTP
$mail->CharSet = "UTF-8"; // 设置字符集
$mail->Host = 'smtp.qq.com'; // 设置主机
$mail->SMTPAuth = true; // 开启SMTP验证
$mail->Username = 'email@qq.com'; // 发件人邮箱用户名
$mail->Password = 'shouquanma'; // 授权码,开启IMAP/SMTP服务时授权的
$mail->SMTPSecure = "ssl"; // 使用ssl协议方式
$mail->FromName = '明辉科技考试云平台';
$mail->Port = 465; // 端口
// 发件人
$mail->setFrom($mail->Username); // 来自
$mail->addAddress($receiveMail); // 设置收件人地址
// 设置邮件内容
$mail->isHTML(true); // 设置邮件格式为HTML
$mail->Subject = '验证码-来自明辉科技考试云平台'; // 邮件主题
$code = rand(1000,9999);
$_SESSION['code'] = $code;
$mail->Body = "<b>您的验证码是:{$code}</b>,如果非本人操作无需理会!";
try {
$mail->send();
echo '邮件发送成功!';
} catch(Exception $e) {
// 输出异常信息
echo $e->getMessage();
}
}

sendMails('123456@qq.com'); // 发送邮件给123456@qq.com

3、注意:邮件发送不成功的话,请开启调试模式,检查相关扩展是否安装或者打开。

文章目录
  1. 1. PHP使用phpmailer发送邮件
    1. 1.1. 前言
    2. 1.2. demo示例:
本站总访问量 | 本页面被访问 | 您是第位小伙伴

© XueSi博客 版权所有 备案号 : 赣ICP备19008485号-1