【问题标题】:using for,implode and explode function使用 for、implode 和 explode 函数
【发布时间】:2015-04-05 21:41:08
【问题描述】:

我需要使用 implode、explode 和 for 函数发送电子邮件

这是我的代码:

$ab =implode(",", $dataset['mail']); //emails
$ac =implode(",", $dataset['html']); //message
$emails[]=$ab;
$hts[]=$ac;
for($i=0;$i<count($emails);$i++)
{
  if(mail($emails[$i], $asunto, $hts[$i],$header)){
     return true;
   }

}

$ab 和 $ac 与 implde 将是这样的:

$ab='demo@gmail.com,demos@gmail.com,demo3@gmail.com,demo5@gmail.com';
$ac='hola,hi,gutentag';

所以在为每封电子邮件调用邮件功能并为每封邮件发送消息

如何发送?

我需要第一封邮件附带第一封邮件然后...

【问题讨论】:

  • 你为什么要内爆,将它设置在一个数组中,然后尝试循环遍历该数组?为什么不直接遍历$dataset['mail']

标签: php email for-loop explode implode


【解决方案1】:

只需这样做,无需内爆。你已经有数组了。

$emails = $dataset['mail'];
$hts    = $dataset['html'];

for($i=0;$i<count($emails);$i++)
{
  if(mail($emails[$i], $asunto, $hts[$i],$header)){
     return true;
   }
}

【讨论】:

  • 这里的问题:您有 2 个不同的数组。只要这些数组之间不完全是 1:1 关系,这就会失败。更好的解决方案:构建类似邮件对象的东西,将邮件地址和内容放入对象中并像那样映射 - 不要将其拆分为 2 个数组!
  • 这也将在发送第一封电子邮件后停止执行,因为返回 true。
  • 问题是,消息是每封电子邮件的专用哈希
猜你喜欢
  • 1970-01-01
  • 2020-02-03
  • 2013-05-22
  • 2017-09-22
  • 2018-06-21
  • 1970-01-01
  • 2011-11-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多