发送包含我所有姓名列表数组的电子邮件


sending email with all my name list array

我有一个数组通过提交表单传递给下面的脚本,然后使用这些数据发送电子邮件。

PHP

$boxName = $_POST['name'];    
$m = new PHPMailer();
foreach ($boxName as $named)
{
    $m->Body = "Name:" .$named. "<br>";
};

阵列

Array ( [name] => Array ( [0] => Chris [1] => Yum [2] => Oppa [3] => mudo)

但是我的电子邮件上只显示了我的姓氏,为什么?我已经用前臂打开了所有的。如果我使用print_r,它将显示我的所有姓名列表。发送部分没有问题,我只是不知道如何将我所有的名单都输入到消息中。

如何使我的$m->body显示我的所有姓名列表?

如果我使用以下代码,我可以看到我所有的名字列表

foreach ($boxNumber as $Name) { 
    print $Name."<br>";
}

我想像下面的例子一样显示列表:

1.Chris
2.Yum
3.Oppa
4.mudo

您只能看到姓氏的原因是,每次执行循环时都会覆盖Body变量。请参阅下面的代码。

  $boxName = $_POST['name'];
    $m = new PHPMailer();
    $m->Body = '<ol>';
    foreach ($boxName as $named)
        $m->Body .= "<li>" . $named . "</li>";
    $m->Body .= "</ol>";

您总是覆盖姓氏,您需要的是实际附加字符串(使用句点):

$m->Body .= "Name:" .$named. "<br>";
// this is the short form for:
$m->Body = $m->Body . "Name:" .$named. "<br>";

工作代码

$boxName = $_POST['name'];    
$m = new PHPMailer();
if(empty($m->body)) $m->Body = ''
$i = 1;
foreach ($boxName as $named)
{
    $m->Body .= $i.'.'.$named. "<br>";
    $i += 1;
};