发送包含我所有名单列表的电子邮件

时间:2015-12-10 13:03:06

标签: php

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

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)

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

如何让$m->body显示我的所有名单?

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

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

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

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

3 个答案:

答案 0 :(得分:0)

你总是覆盖姓氏,你需要的是实际追加字符串(使用句号):

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

答案 1 :(得分:0)

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

  $boxName = $_POST['name'];

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

答案 2 :(得分:0)

工作代码

$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;
};