如何在php中向选定的电子邮件发送电子邮件

时间:2015-08-31 08:57:26

标签: php email

table what i fetched from database

while($row2 = mysql_fetch_array($result2)) 
{
    $email_message .= '<tr>';
    $id= $row2['id'];
    $value= $row2['format( a.total_value, 2 )'];
    $email= $row2['email'];
    $email_message .='<td>'."$id".'</td>';
    $email_message .='<td>'."$value".'</td>';
    $email_message .='<td>'."$email".'</td>';
    $email_message .= '</tr>';
}                

我想发送电子邮件至xx@gmail.com(id = 4),前五行信息,并发送电子邮件至ss@yy.com(id = 13),最后一行信息。                 从db获取上面的表后如何使用php执行上面的代码。请帮帮我。

2 个答案:

答案 0 :(得分:0)

您可以使用默认的mail()函数。找到下面的例子。

<?php
// The message
$message = "Line 1\r\nLine 2\r\nLine 3";

// In case any of our lines are larger than 70 characters, we should use wordwrap()
$message = wordwrap($message, 70, "\r\n");

// Send
mail('caffeinated@example.com', 'My Subject', $message);
?>

注意:如果您在本地主机上使用此功能,则需要检查并更改php.in文件中的smtp设置。根据您的smtp设置,邮件功能可能/可能无法一直工作。

答案 1 :(得分:0)

请尝试这样的事情:

$clients = array();

while($row2 = mysql_fetch_array($result2)) 
{
    if (!array_key_exists($row2['email'], $clients)) {
        $clients[$row2['email']] = array($row2['format( a.total_value, 2 )']);
    }
    else {
        $clients[$row2['email']][] = $row2['format( a.total_value, 2 )'];
    }
}

foreach ($clients as $email => $values) {
    $email_message .= '<tr>';
    $id= $row2['id'];

    $email_message .='<td>'."$id".'</td>';

    foreach ($values as $value) {
        $email_message .='<td>'."$value".'</td>';
    }

    $email_message .='<td>'."$email".'</td>';
    $email_message .= '</tr>';
}