You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHPMailer如何实现向用户和管理员分别发送内容不同的邮件

PHP使用PHPMailer向两个不同收件人发送不同内容邮件的实现方法

实现逻辑非常简单,公共的SMTP配置复用,每次发送不同邮件前清空上一次的收件人配置,分别设置对应邮件的收件人、主题、内容后调用发送方法即可。

注意事项

  • 原有代码存在语法错误:变量赋值、send()方法调用结尾缺少分号,修正后才可正常运行
  • 每次发送新邮件前必须调用clearAddresses()清空历史收件人,避免邮件错发
  • 两封邮件的主题、内容完全独立,可按需自定义配置

完整实现代码

<?php 
require_once('phpmailer/PHPMailerAutoload.php');
$mail = new PHPMailer;
$mail->CharSet = 'utf-8';

// 接收表单参数
$name = $_POST['name'];
$email = $_POST['email'];                         

// 公共SMTP配置,只需要配置一次
$mail->isSMTP();                                      
$mail->Host = 'smtp.mail.ru';                                                                                          
$mail->SMTPAuth = true;                              
$mail->Username = 'pmewilberries@mail.ru';
$mail->Password = '123456789456';
$mail->SMTPSecure = 'ssl';                          
$mail->Port = 465; 
$mail->setFrom('pmewilberries@mail.ru'); 

// ---------------------- 第一封:发送给提交表单的用户 ----------------------
$mail->addAddress($email);    
$mail->Subject = 'Заявка на участие в интенсиве Wildberries';
// 自定义用户邮件内容
$user_body = "您好".$name.",您的Wildberries intensiv报名申请我们已经收到,我们会尽快与您联系~";
$mail->msgHTML($user_body);
// 发送第一封,可加判断处理发送失败的情况
if (!$mail->send()) {
    echo '发送给用户的邮件失败: ' . $mail->ErrorInfo;
}

// ---------------------- 第二封:发送给管理员 ----------------------
// 清空上一次的收件人列表
$mail->clearAddresses();
// 填写管理员实际收件邮箱
$mail->addAddress('admin@yourdomain.com');
// 自定义管理员邮件主题
$mail->Subject = '新的Wildberries intensiv报名申请';
// 自定义管理员邮件内容,可带上用户提交的信息
$admin_body = "有新用户提交了报名申请:<br>用户姓名:".$name."<br>用户邮箱:".$email;
$mail->msgHTML($admin_body);
// 发送第二封
if (!$mail->send()) {
    echo '发送给管理员的邮件失败: ' . $mail->ErrorInfo;
}
?>

内容的提问来源于stack exchange,提问作者Akaev Dzhalal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.08 16:42:01