用php邮件发送类库:PHPMailer,发送邮件通知

242次阅读
没有评论

类库地址: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.phpPHPMailer.phpSMTP.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';
正文完
有偿技术支持加微信
post-qrcode
 
评论(没有评论)
验证码