2019-11-08 18:10:50
围观(4139)
本文使用 PHPMailer 进行邮件发信。
PHPMailer 的开源地址:https://github.com/PHPMailer/PHPMailer/
下载 PHPMailer 后解压。本文是解压在项目根目录的 common 文件夹。
然后在根目录创建一个 PHP 文件并写入代码:
<?php
//引入 PHPMailer
use PHPMailerPHPMailerPHPMailer;
use PHPMailerPHPMailerException;
//引入 PHPMailer 核心文件
include_once 'common/PHPMailer/src/PHPMailer.php';
include_once 'common/PHPMailer/src/SMTP.php';
include_once 'common/PHPMailer/src/Exception.php';
//邮箱 SMTP 配置
$config = [
//QQ邮箱的服务地址 或 网易邮箱服务地址 或其他邮件服务地址
'host' => 'smtp.163.com',
//设置 ssl 连接 SMTP 服务的远程服务器端口号
'port' => 465,
//设置发送邮件的编码
'charset' => 'UTF-8',
//设置发件人昵称
'fromname' => '不败君',
//SMTP 登录的账号 邮箱地址即可
'username' => 'foreverbaijun@163.com',
//SMTP 登录的密码 使用生成的授权码
'password' => '***********',
];
//实例化 PHPMailer 类
$mail = new PHPMailer();
//启用或关闭 debug 调试模式 开发环境建议开启 生产环境注释掉即可
$mail->SMTPDebug = true;
//使用 SMTP 方式鉴权发送邮件
$mail->isSMTP();
//SMTP 鉴权必须是true
$mail->SMTPAuth = true;
//QQ邮箱的服务地址 或 网易邮箱服务地址 或其他邮件服务地址
$mail->Host = $config['host'];
//设置是否使用 ssl 加密方式
$mail->SMTPSecure = 'ssl';
//设置 ssl 连接 SMTP 服务的远程服务器端口号
$mail->Port = $config['port'];
//设置发送邮件的编码
$mail->CharSet = $config['charset'];
//设置发件人昵称
$mail->FromName = $config['fromname'];
//SMTP 登录的账号 邮箱地址即可
$mail->Username = $config['username'];
//SMTP 登录的密码 使用生成的授权码
$mail->Password = $config['password'];
//发件人邮箱地址 同登录账号
$mail->From = $config['username'];
//邮件正文是否为html编码 注意此处是一个方法 如果不是 HTML 请注释
$mail->isHTML(true);
//设置收件人邮箱地址
$mail->addAddress('qingchengbbj@qq.com');
//添加多个收件人 则多次调用方法即可
//$mail->addAddress('123456@163.com');
//添加该邮件的主题
$mail->Subject = '来自不败君博客的新回复';
//添加邮件正文
$mail->Body = '<h1>邮件发送测试</h1>';
//添加附件
//$mail->addAttachment('example.pdf');
//发送邮件 返回状态 true 为成功发送 false为发送失败
$status = $mail->send();
var_dump($status);最后的返回值也就是变量 status 为 true 则是发送成功,否则就是发送失败了。发送失败可以修改代码中的
$mail->SMTPDebug = true;
开启 debug 模式,进行查阅无法发送的原因。
博主这边测试的时候在标题或者内容中加入了特殊符号,被网易那边拒绝发送了。
上面代码引入的文件地址需要根据自身项目而定。也就是 PHPMailer 解压放置的位置而定。
include_once 'common/PHPMailer/src/PHPMailer.php'; include_once 'common/PHPMailer/src/SMTP.php'; include_once 'common/PHPMailer/src/Exception.php';
一般情况下只需要设置 $config 数组里面的配置即可。
另外,还需要在 PHP.INI 中开启 openssl 配置
extension=php_openssl.dll
本文地址 : bubaijun.com/page.php?id=146
版权声明 : 未经允许禁止转载!
上一篇文章: CentOS7安装PHP7.3和MySQL8.0
下一篇文章: PHP开发很火的随机毒鸡汤网页和API接口