mail(),来自mysql表的电子邮件

时间:2015-11-02 20:11:54

标签: php email

新来的,提前,谢谢。我有表格将数据插入表格,工作。插入后,mail()应该向该特定客户端发送通知。 mail()如果我硬编码电子邮件地址,但不是地址来自db:

,则有效
mail('email-from-table','Subject','Body');

2 个答案:

答案 0 :(得分:2)

问题是你在变量周围使用单引号。只评估双引号中的变量。

因此您尝试向 $ email_to

的电子邮件地址发送电子邮件
mail('$email_to','',''); 

应该是

mail("$email_to",'',''); 

或更常见

mail($email_to,'',''); 

答案 1 :(得分:0)

您需要从数据库中收集电子邮件地址并迭代结果。同样mail()是最不详的;我建议使用PEAR或其他SMTP库。

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if ($mysqli->connect_errno) {
    printf("Connect failed: %s\n", $mysqli->connect_error);
    exit();
}

/* Select queries return a resultset */
if ($result = $mysqli->query("SELECT email FROM table")) {
    printf("<p>Select returned %d rows.</p>\r\n", $result->num_rows);
    echo "<ul>\r\n";
    while($row = $result->fetch_assoc()){
        if(mail($row['email'], 'My Spam Subject', 'My Spam Email')){
            echo "<li>Spam sent to {$row['email']}</li>\r\n";
        } else {
            echo "<li>Mail failed.</li>\r\n";
        }
    }
    echo "</ul>\r\n";
    /* free result set */
    $result->close();
}
$mysqli->close();
?>