php mail()给具有组合消息和不同接收者的多个用户

时间:2018-06-18 09:57:51

标签: php mysql arrays email

我现在找到了hardone(对我而言)..我只是不知道如何处理......

因此,将邮件发送到一个接收器很容易..

<?php
$to      = 'nobody@example.com';
$subject = 'the subject';
$message = 'hello';
$headers = 'From: webmaster@example.com' . "\r\n" .
    'Reply-To: webmaster@example.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

mail($to, $subject, $message, $headers);
?> 

但我想使用不同的方法.. 我收集用户的一些信息,如电子邮件,姓名等。 提交后,所有信息都会转到db .. afer,管理员会再添加一个字段(“竞速号”)并接受注册。

当一切都由经理完成时,我想添加一个叫做php的按钮,向所有列表中的人发送电子邮件(让我们说100人)

Sql会是这样的:

SELECT voistlus_nr, voistlus_klass, email, nimi FROM mtma0_mod_romuring_registreerimine

现在按下按钮后,它应该为每个SQL行编写不同的电子邮件,并将它们发送给合适的人..

Reslut示例。

SQL结果将给出:

//JOHN
    $racing_number = 1;
    $class = 'Man';
    $email='racer@racing.ee'
    $name='John Smith' 

//Angela    

    $racing_number = 10;
    $class = 'Woman';
    $email='Angela@gmail.something'
    $name='Angela Puu'

收到 John 的电子邮件将会是这样的:

你好John Smith! 您已注册,您的比赛号码为1。

Angela 会是:

Hello Angela Puu! 您已注册,您的比赛号码为10。

所以我的逻辑说我应该将我的SQL结果添加到数组中,然后将它们全部循环以逐个发送所有消息?

问题是..如何使用该数组发送电子邮件。

答案如下:

    while($r = mysqli_fetch_array($res))
{
    $to = $r['email'];
    $name = $r['name'];
    $number = $r['racing_number'];
    $message = "Hello $name! You are registered, your racing number is 
    $number.";
    mail($to, $subject, $message, $headers);
}

1 个答案:

答案 0 :(得分:3)

是的,你是在正确的界限,如下所示:

$subject = 'the subject';
$headers = 'From: webmaster@example.com' . "\r\n" .
    'Reply-To: webmaster@example.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

while($r = mysqli_fetch_array($res))
{
    $to = $r['email'];
    $name = $r['name'];
    $number = $r['racing_number'];
    $message = "Hello $name! You are registered, your racing number is 
    $number.";
    mail($to, $subject, $message, $headers);
}