0

0

使用 PHP 和 PHPMailer 发送邮件给多个用户

花韻仙語

花韻仙語

发布时间:2025-08-30 19:19:00

|

409人浏览过

|

来源于php中文网

原创

使用 php 和 phpmailer 发送邮件给多个用户

本文将介绍如何使用 PHP 和 PHPMailer 库向多个用户发送电子邮件。通过修改 HTML 表单以支持多个电子邮件地址输入,并在 PHP 后端使用循环遍历这些地址,可以轻松地将邮件发送给列表中的所有收件人。本文提供详细的代码示例,并讨论了相关的注意事项,帮助开发者构建可靠的批量邮件发送功能。

修改 HTML 表单以支持多个电子邮件地址

要允许用户输入多个电子邮件地址,我们需要修改 HTML 表单。一种常见的方法是使用数组形式的输入字段。例如,我们可以将 email 输入字段的 name 属性设置为 email[]。




用户可以根据需要添加更多输入字段,或者使用 JavaScript 动态添加/删除输入框。 重要的是,所有 email 输入框的 name 属性都必须设置为 email[],这样 PHP 才能将它们作为一个数组接收。

PHP 后端处理多个电子邮件地址

在 PHP 后端,我们需要修改代码来处理 $_POST['email'] 数组,并使用循环遍历这些地址,然后将每个地址添加到 PHPMailer 的收件人列表中。

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

极限网络办公Office Automation
极限网络办公Office Automation

专为中小型企业定制的网络办公软件,富有竞争力的十大特性: 1、独创 web服务器、数据库和应用程序全部自动傻瓜安装,建立企业信息中枢 只需3分钟。 2、客户机无需安装专用软件,使用浏览器即可实现全球办公。 3、集成Internet邮件管理组件,提供web方式的远程邮件服务。 4、集成语音会议组件,节省长途话费开支。 5、集成手机短信组件,重要信息可直接发送到员工手机。 6、集成网络硬

下载
if(isset($_POST["submit"])) {
    // ... (其他表单验证代码) ...

    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 = 'your_email@gmail.com'; // 替换为你的邮箱地址
        $mail->Password = 'your_password'; // 替换为你的邮箱密码
        $mail->SMTPSecure = 'ssl';
        $mail->From = 'your_email@gmail.com'; // 替换为你的邮箱地址
        $mail->FromName = 'Your Name';

        // 循环遍历 email 数组并添加收件人
        foreach($_POST['email'] as $emailAddress){
            if (filter_var($emailAddress, FILTER_VALIDATE_EMAIL)) { // 验证邮箱格式
                $mail->AddAddress($emailAddress);
            } else {
                $error .= '

'; } } $mail->WordWrap = 50; $mail->IsHTML(true); $mail->Subject = $_POST["subject"]; $mail->Body = $_POST["message"]; if($mail->Send()) { $error = ''; } else { $error = ''; } // ... (重置表单字段) ... } }

代码解释:

  1. foreach($_POST['email'] as $emailAddress): 这是一个 foreach 循环,它遍历 $_POST['email'] 数组中的每个元素,并将当前元素的值赋给 $emailAddress 变量。
  2. filter_var($emailAddress, FILTER_VALIDATE_EMAIL): 这是一个内置的 PHP 函数,用于验证电子邮件地址的格式是否正确。如果电子邮件地址有效,则返回该地址,否则返回 false。
  3. $mail->AddAddress($emailAddress): 这是 PHPMailer 对象的一个方法,用于将一个电子邮件地址添加到收件人列表中。
  4. $mail->ErrorInfo: 如果发送邮件失败,$mail->ErrorInfo 属性会包含错误信息,方便调试。

注意事项

  • 邮箱配置: 确保正确配置 PHPMailer 的 SMTP 设置,包括主机、端口、用户名和密码。 使用 Gmail 作为 SMTP 服务器时,可能需要启用“允许不太安全的应用访问”或使用应用专用密码。
  • 邮件发送频率限制: 许多邮件服务提供商(例如 Gmail)对邮件发送频率有限制。 如果需要发送大量邮件,请考虑使用专业的邮件发送服务,例如 SendGrid、Mailgun 或 Amazon SES。
  • 验证电子邮件地址: 在将电子邮件地址添加到收件人列表之前,始终验证其格式是否正确。这可以防止由于无效的电子邮件地址而导致的发送错误。
  • 错误处理: 添加适当的错误处理机制,以便在发送邮件失败时能够记录错误信息并通知用户。
  • 防止垃圾邮件: 确保你的邮件内容符合反垃圾邮件规则,例如包含取消订阅链接,避免使用触发垃圾邮件过滤器的词语。
  • 安全: 不要在代码中硬编码密码。使用环境变量或配置文件来存储敏感信息。
  • 用户体验: 提供友好的用户界面,方便用户输入多个邮件地址。可以使用 JavaScript 动态添加/删除输入框。

总结

通过修改 HTML 表单和 PHP 后端代码,我们可以轻松地使用 PHP 和 PHPMailer 向多个用户发送电子邮件。 记住,正确配置 SMTP 设置、验证电子邮件地址、处理错误和遵守反垃圾邮件规则至关重要。在实际应用中,还需要考虑邮件发送频率限制和安全性等问题。

相关文章

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
php文件怎么打开
php文件怎么打开

打开php文件步骤:1、选择文本编辑器;2、在选择的文本编辑器中,创建一个新的文件,并将其保存为.php文件;3、在创建的PHP文件中,编写PHP代码;4、要在本地计算机上运行PHP文件,需要设置一个服务器环境;5、安装服务器环境后,需要将PHP文件放入服务器目录中;6、一旦将PHP文件放入服务器目录中,就可以通过浏览器来运行它。

2908

2023.09.01

php怎么取出数组的前几个元素
php怎么取出数组的前几个元素

取出php数组的前几个元素的方法有使用array_slice()函数、使用array_splice()函数、使用循环遍历、使用array_slice()函数和array_values()函数等。本专题为大家提供php数组相关的文章、下载、课程内容,供大家免费下载体验。

1736

2023.10.11

php反序列化失败怎么办
php反序列化失败怎么办

php反序列化失败的解决办法检查序列化数据。检查类定义、检查错误日志、更新PHP版本和应用安全措施等。本专题为大家提供php反序列化相关的文章、下载、课程内容,供大家免费下载体验。

1567

2023.10.11

php怎么连接mssql数据库
php怎么连接mssql数据库

连接方法:1、通过mssql_系列函数;2、通过sqlsrv_系列函数;3、通过odbc方式连接;4、通过PDO方式;5、通过COM方式连接。想了解php怎么连接mssql数据库的详细内容,可以访问下面的文章。

1120

2023.10.23

php连接mssql数据库的方法
php连接mssql数据库的方法

php连接mssql数据库的方法有使用PHP的MSSQL扩展、使用PDO等。想了解更多php连接mssql数据库相关内容,可以阅读本专题下面的文章。

1566

2023.10.23

html怎么上传
html怎么上传

html通过使用HTML表单、JavaScript和PHP上传。更多关于html的问题详细请看本专题下面的文章。php中文网欢迎大家前来学习。

1277

2023.11.03

PHP出现乱码怎么解决
PHP出现乱码怎么解决

PHP出现乱码可以通过修改PHP文件头部的字符编码设置、检查PHP文件的编码格式、检查数据库连接设置和检查HTML页面的字符编码设置来解决。更多关于php乱码的问题详情请看本专题下面的文章。php中文网欢迎大家前来学习。

1669

2023.11.09

php文件怎么在手机上打开
php文件怎么在手机上打开

php文件在手机上打开需要在手机上搭建一个能够运行php的服务器环境,并将php文件上传到服务器上。再在手机上的浏览器中输入服务器的IP地址或域名,加上php文件的路径,即可打开php文件并查看其内容。更多关于php相关问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

1310

2023.11.13

拼多多赚钱的5种方法 拼多多赚钱的5种方法
拼多多赚钱的5种方法 拼多多赚钱的5种方法

在拼多多上赚钱主要可以通过无货源模式一件代发、精细化运营特色店铺、参与官方高流量活动、利用拼团机制社交裂变,以及成为多多进宝推广员这5种方法实现。核心策略在于通过低成本、高效率的供应链管理与营销,利用平台社交电商红利实现盈利。

31

2026.01.26

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP课程
PHP课程

共137课时 | 9.5万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 11.2万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 0.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号