推荐使用PHPMailer发送邮件,因其支持SMTP认证、HTML格式、附件及加密传输,比原生mail()函数更可靠。首先通过Composer安装并引入PHPMailer,配置SMTP信息(如QQ邮箱的Host、端口、授权码),设置发件人、收件人、主题与内容,启用HTML格式与异常处理,最后调用send()方法发送。注意使用授权码而非登录密码,避免垃圾邮件策略,并确保编码一致防止乱码。批量发送可结合addBCC或队列系统提升效率。

发送电子邮件是许多Web应用的基本功能,比如用户注册确认、密码重置、系统通知等。PHP本身提供了mail()函数来发送邮件,但在实际使用中存在配置复杂、容易被识别为垃圾邮件等问题。更推荐的方式是使用强大的第三方库——PHPMailer。本文将介绍如何使用原生mail()函数和PHPMailer发送邮件,并重点讲解PHPMailer的安装与使用方法。
PHP内置的mail()函数可以快速发送简单邮件,但依赖服务器正确配置SMTP服务(如sendmail)。
mail($to, $subject, $message, $headers);
$to = 'user@example.com';
$subject = '测试邮件';
$message = '这是一封来自PHP的测试邮件。';
$headers = 'From: webmaster@example.com' . "\r\n" .
        'Reply-To: webmaster@example.com' . "\r\n" .
        'X-Mailer: PHP/' . phpversion();
if (mail($to, $subject, $message, $headers)) {
    echo "邮件发送成功";
} else {
    echo "邮件发送失败";
}
PHPMailer是一个功能丰富、易于使用的开源邮件发送库,支持:
立即学习“PHP免费学习笔记(深入)”;
相比mail()函数,PHPMailer能有效避免邮件进入垃圾箱,适合生产环境。
推荐通过Composer安装PHPMailer,这是最标准的方式。
1. 使用Composer安装:composer require phpmailer/phpmailer
require 'vendor/autoload.php';
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
use PHPMailer\PHPMailer\Exception;
$mail = new PHPMailer(true); // 启用异常处理
try {
    // 邮件服务器设置
    $mail->isSMTP();
    $mail->Host       = 'smtp.qq.com';
    $mail->SMTPAuth   = true;
    $mail->Username   = 'your_email@qq.com';
    $mail->Password   = 'your_auth_password'; // 注意:不是登录密码,是授权码
    $mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS;
    $mail->Port       = 465;
    // 收件人
    $mail->setFrom('your_email@qq.com', '发件人名称');
    $mail->addAddress('recipient@example.com', '收件人姓名');
    // 邮件内容
    $mail->isHTML(true);
    $mail->Subject = 'PHPMailer测试邮件';
    $mail->Body    = '<h1>欢迎使用PHPMailer!</h1><p>这是一封HTML格式的邮件。</p>';
    $mail->AltBody = '这是纯文本版本内容';
    $mail->send();
    echo '邮件已成功发送';
} catch (Exception $e) {
    echo "邮件发送失败:{$mail->ErrorInfo}";
}
在实际部署中,你可能会遇到以下情况:
addAddress()多次添加收件人,或使用addBCC()进行密送对于高并发场景,建议结合队列系统(如Redis、RabbitMQ)异步发送邮件,避免阻塞主流程。
基本上就这些。掌握PHPMailer后,你就能稳定地在项目中集成邮件通知功能了。比起原生mail()函数,它更安全、灵活,也更容易维护。
以上就是PHP代码如何发送电子邮件通知_PHP邮件发送与PHPMailer使用教程的详细内容,更多请关注php中文网其它相关文章!
 
                        
                        PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
 
                Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号