背景知识:
- 邮件的使用场景一般有很多,例如用户注册,消息通知等等,本案例以用户注册发送验证码为场景
- PHPMailer是一个PHP相关的邮件类,使用它可以很轻松的发送邮件
1.使用composer安装PHPMailer,PHPMailer的github主页:PHPMailer下载 。例如可以在桌面创建一个测试目录phpmail,按住shift+鼠标右键,选择在此处打开命令窗口,输入如下命令安装:
composer require phpmailer/phpmailer
2.由于发送邮件需要服务器,这里建议使用第三方,我这边使用的是网易邮箱。首先登陆网易邮箱,选择顶部导航栏设置的子栏目POP3/SMTP/IMAP,具体操作如下:
然后选择相应的服务并保存:
之后选择左侧菜单栏的客户端授权密码,设置授权密码,需要手机短信验证:
以上步骤设置好之后,就可以进入编码工作了。
3.第一步用composer安装好PHPMailer之后,在phpmail目录中会有verdor目录以及composer.json,composer.lock两个文件,vendor目录中存放的是PHPMailer的核心代码与composer相关,至于其他两个文件也是与composer相关的,这里不做阐述了。在phpmail目录下新建index.php,写上如下代码:
<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require 'vendor/autoload.php';
class Email{
public static function sendEmail($email,$code){
$mail = new PHPMailer(true);
try {
//使用STMP服务
$mail->isSMTP();
//这里使用我们第二步设置的stmp服务地址
$mail->Host = "smtp.163.com";
//设置是否进行权限校验
$mail->SMTPAuth = true;
//第二步中登录网易邮箱的账号
$mail->Username = "你的邮箱账号";
//客户端授权密码,注意不是登录密码
$mail->Password = "授权密码";
//使用ssl协议
$mail->SMTPSecure = 'ssl';
//端口设置
$mail->Port = 465;
//字符集设置,防止中文乱码
$mail->CharSet= "utf-8";
//设置邮箱的来源,邮箱与$mail->Username一致,名称随意
$mail->setFrom("邮箱", "名称");
//设置收件的邮箱地址
$mail->addAddress($email);
//设置回复地址,一般与来源保持一直
$mail->addReplyTo("邮箱", "名称");
$mail->isHTML(true);
//标题
$mail->Subject = '欢迎注册三斤商城';
//正文
$mail->Body = '你本次注册的验证码为:'.$code.',请在十分钟之内使用它!';
$mail->send();
echo 'ok';
// return array('errCode'=>0,'msg'=>'ok');
} catch (Exception $e) {
echo $e;
// return array('errCode'=>-1,'msg'=>$mail->ErrorInfo);
}
}
}
Email::sendEmail(邮箱,验证码);
4.运行index.php即可完成邮件的发送。以上就是使用PHPMailer发送邮件的全部步骤,是不是很简单呀。当然PHPMailer的功能不仅只有这些,它还有发送附件等等其他功能,感兴趣的小伙可以自行研究。