boxmoe_header_banner_img

Hello! 欢迎来到悠悠畅享网!

文章导读

使用 PHP 和 PHPMailer 向多个用户发送电子邮件


avatar
作者 2025年8月30日 9

使用 PHP 和 PHPMailer 向多个用户发送电子邮件

本文档将指导您如何使用 php 和 PHPMailer 库向多个用户发送电子邮件。我们将探讨如何修改现有的表单和 PHP 代码,以便可以接收多个电子邮件地址,并通过循环遍历这些地址,使用 PHPMailer 将邮件发送给所有收件人。本文将提供代码示例和注意事项,帮助您构建可靠的批量邮件发送功能。

接收多个电子邮件地址

要向多个用户发送电子邮件,首先需要修改 html 表单,使其能够接收多个电子邮件地址。 有两种常见的方法可以实现这一点:

  1. 使用多个输入框: 您可以添加多个电子邮件地址输入框,每个输入框都有唯一的名称,例如 email1、email2、email3 等。 这种方法简单易懂,但当需要发送的电子邮件数量不确定时,会比较麻烦。
  2. 使用数组形式的输入框: 您可以创建一个名称相同的输入框,但使用数组形式的名称,例如 email[]。 这样,用户可以动态地添加任意数量的电子邮件地址。

这里我们选择第二种方法,因为它更灵活。 修改后的 HTML 代码如下所示:

<div class="form-group">     <label>Enter Email Addresses</label>     <input type="email" name="email[]" class="form-control" placeholder="Enter Email" />     <input type="email" name="email[]" class="form-control" placeholder="Enter Email" />     <input type="email" name="email[]" class="form-control" placeholder="Enter Email" />     <!-- 可以添加更多输入框,或者使用 JavaScript 动态添加 --> </div>

处理 PHP 中的多个电子邮件地址

在 PHP 中,您可以通过 $_POST[’email’] 访问以数组形式提交的电子邮件地址。 现在,您需要修改 PHP 代码,循环遍历这些地址,并将它们添加到 PHPMailer 实例中。

立即学习PHP免费学习笔记(深入)”;

修改后的 PHP 代码如下所示:

if($error == '') {     require 'class/class.phpmailer.php';     $mail = new PHPMailer;     $mail->IsSMTP();     $mail->Host = 'smtp.gmail.com';     $mail->Port = '465';     $mail->SMTPAuth = true;     $mail->Username = '<a class="__cf_email__" data-cfemail="xxxxxxxxxxxxxxxxxx">[email protected]</a>';     $mail->Password = 'xxxxxxxxxxx';     $mail->SMTPSecure = 'ssl';     $mail->From = $_POST["email"][0]; // 使用第一个邮箱地址作为发件人     $mail->FromName = 'name';     // 循环添加收件人     foreach($_POST['email'] as $emailAddress){         $mail->AddAddress($emailAddress);     }     $mail->WordWrap = 50;     $mail->IsHTML(true);     $mail->Subject = $_POST["subject"];     $mail->Body = $_POST["message"];     if($mail->Send())     {         $error = '<label class="text-success">Thank you for contacting us</label>';     }     else     {         $error = '<label class="text-danger">There is an Error</label>';     }     $name = '';     $email = '';     $subject = '';     $message = ''; }

关键修改:

  • foreach 循环: 使用 foreach 循环遍历 $_POST[’email’] 数组,将每个电子邮件地址存储在 $emailAddress 变量中。
  • $mail-youjiankuohaophpcnAddAddress($emailAddress): 在循环内部,使用 $mail->AddAddress() 方法将每个电子邮件地址添加到 PHPMailer 实例中,作为收件人。
  • $mail->From = $_POST[“email”][0]: 使用提交的第一个邮箱作为发送邮箱,实际应用中,应使用配置好的邮箱。

注意事项

  • SMTP 服务器限制: 大多数 SMTP 服务器对每小时或每天可以发送的电子邮件数量有限制。 如果您需要发送大量电子邮件,请考虑使用专业的电子邮件营销服务。
  • 反垃圾邮件策略: 避免被标记为垃圾邮件发送者,请确保您的电子邮件内容符合反垃圾邮件策略。 这包括使用清晰的主题行、包含退订链接、避免使用垃圾邮件触发词等。
  • 错误处理: 添加适当的错误处理机制,以便在发送电子邮件失败时能够记录错误信息并通知管理员。
  • 验证: 在将电子邮件地址添加到 PHPMailer 实例之前,请验证其格式是否正确。
  • 安全: 不要在代码中硬编码 SMTP 用户名和密码。 将它们存储在配置文件中,并使用环境变量或安全的方式访问它们。

总结

通过修改 HTML 表单和 PHP 代码,您可以轻松地使用 PHP 和 PHPMailer 库向多个用户发送电子邮件。 记住要考虑 SMTP 服务器限制、反垃圾邮件策略、错误处理和安全性,以确保您的批量邮件发送功能可靠且安全。通过使用数组形式的输入框和 foreach 循环,您可以动态地处理任意数量的电子邮件地址,从而构建灵活的邮件发送系统。

以上就是使用 PHP 和 PHPM



评论(已关闭)

评论已关闭

text=ZqhQzanResources