【问题标题】:How Can I Send An Email To Multiple Email Addresses Through A Multiple Select Form?如何通过多选表单向多个电子邮件地址发送电子邮件?
【发布时间】:2012-10-27 13:01:39
【问题描述】:

我正在尝试使用 PHP mail 函数向通过多选表单选择的多个电子邮件地址发送一封电子邮件,而无需为每个循环执行一次。我目前将电子邮件地址保存为一个数组,但是 PHP 邮件函数返回一个错误,指出它只接受一个参数。关于如何完成这项工作的任何想法?

【问题讨论】:

  • 使用implode(", ", $array)将电子邮件地址收集到一个参数中
  • 聪明的想法,让我试试看:)
  • 我收到了这个错误:警告:implode() [function.implode]: Invalid arguments pass in /home/content/06/9464206/html/BackOffice/Send Email.php on line 113跨度>
  • 看我的回答。您需要在多选名称中添加空方括号,以使其在 PHP 中作为数组出现。另见onlinetools.org/tricks/using_multiple_select.php

标签: php html forms email multiple-select


【解决方案1】:

我假设您的选择看起来像这样:

<select multiple="multiple" size="3" name="emails[]">
    <option value="jane@domain.com">Jane</option>
    <option value="jimmy@domain.com">Jimmy</option>
    <option value="john@domain.com">John</option>
    <option value="james@domain.com">James</option>
</select>

在这种情况下,电子邮件地址列表将作为数组返回给您的 PHP(注意 name 属性中的空方括号)。要在没有循环的情况下向所有选定的地址发送电子邮件,您可以使用逗号将数组内爆并将其输入 PHP mail 函数的第一个参数,如下所示:

<?php
    $addresses=implode(", ", $_POST["emails"]);
    mail($addresses, "Important message", "To whom it may concern, bla bla bla");
?>

【讨论】:

  • 完美!谢谢!也是很好的例子!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-26
  • 2019-01-10
  • 2012-03-31
相关资源
最近更新 更多