2019-11-08 18:10:50
围观(3289)
本文使用 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接口