类库地址:https://packagist.org/packages/phpmailer/phpmailer
GitHub 地址:https://github.com/PHPMailer/PHPMailer
使用 composer 加载类库
composer require phpmailer/phpmailer
官方代码示例
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
use PHPMailer\PHPMailer\Exception;
// 引入 Composer 自动加载文件 autoloader
require 'vendor/autoload.php';
$mail = new PHPMailer;
//$mail->SMTPDebug = 3; // 是否输出 debug 信息
$mail->isSMTP(); // 设置 mailer 为 SMTP 模式
$mail->Host = 'smtp1.example.com;smtp2.example.com'; // SMTP 服务器 host
$mail->SMTPAuth = true; // 启用 SMTP 身份验证
$mail->Username = 'user@example.com'; // SMTP 用户名
$mail->Password = 'secret'; // SMTP 密码
$mail->SMTPSecure = 'tls'; // 是否使用 TLS 证书,支持 'ssl'
$mail->Port = 587; // TCP 连接端口
$mail->setFrom('from@example.com', 'Mailer'); // 设置发件人地址
$mail->addAddress('joe@example.net', 'Joe User'); // 添加收件人地址
$mail->addAddress('ellen@example.com'); // 添加收件人时名称是可选的
$mail->addReplyTo('info@example.com', 'Information'); // 回复地址
$mail->addCC('cc@example.com'); // 添加抄送地址
$mail->addBCC('bcc@example.com'); // 添加密件抄送地址
$mail->addAttachment('/var/tmp/file.tar.gz'); // 添加附件
$mail->addAttachment('/tmp/image.jpg', 'new.jpg'); // 添加带有名称的附件
$mail->isHTML(true); // 发送 HTML 格式的邮件
$mail->Subject = 'Here is the subject'; // 邮件标题
$mail->Body = 'This is the HTML message body in bold!'; // 邮件主体内容
$mail->AltBody = 'This is the body in plain text for non-HTML mail clients'; // 附加信息
/* 执行发送邮件 */
if(!$mail->send()) {
echo 'Message could not be sent.';
echo 'Mailer Error:' . $mail->ErrorInfo;
} else {echo 'Message has been sent';}
代码示例精简
try {$mail = new PHPMailer(true);
$mail->IsSMTP();
$mail->CharSet='UTF-8';
$mail->SMTPAuth = true;
$emailPort = '';
if ($emailPort == '465'){ // 如果使用 ssl 则加上
$mail->SMTPSecure = 'ssl';
}
$mail->Port = $emailPort;
$mail->Host = ''; // 邮箱 smtp 地址
$mail->Username = ''; // 你的邮箱账号
$mail->Password = ''; // 你的邮箱密码
$mail->From = $mail->Username; // 你的邮箱账号(发件人)
$mail->FromName = ''; // 发件人名称
$mail->AddAddress(''); // 收件人
$mail->Subject = $subject; // 标题
$mail->Body = $message; // 邮件内容
$mail->WordWrap = 80; // 设置长度
//$mail->AddAttachment("f:/test.png"); // 可以添加附件
$mail->IsHTML(true); // 是否 HTML 格式
$mail->Send();}catch(Exception $e){
/* 测试的时候可以去掉此行的注释 */
echo "邮件发送失败:".$e->errorMessage();}
关于代码引入,可以使用 composer 进行自动引入,也可以复制 src 目录到项目,手动引入 Exception.php、PHPMailer.php、SMTP.php 三个文件,来实现邮件发送。
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require 'path/to/PHPMailer/src/Exception.php';
require 'path/to/PHPMailer/src/PHPMailer.php';
require 'path/to/PHPMailer/src/SMTP.php';
正文完
有偿技术支持加微信