如何从MySQL记录发送自动电子邮件?

时间:2009-03-25 10:24:40

标签: php mysql

我正在使用MySQL数据库和PHP 我的MySQL数据库包含以下记录:

  Name  Address    Data    email             Date
  Joy   Fortblair  10     my@gmail.comm    1/22/2009
  Bob   Atlanta    15      bob@gmail.com    2/22/2009

我的目的是使用PHP发送电子邮件,条件如下:

  • 数据为1天。 (Current date - date = 1 day

  • 它应该一次邮寄所有电子邮件记录。

入门的最佳方式是什么?

2 个答案:

答案 0 :(得分:5)

SQL查询非常简单,如下所示

SELECT *, TIMESTAMPDIFF(day, Date, NOW()) FROM `your_table_name` WHERE TIMESTAMPDIFF(day, Date, NOW()) = 1;

现在你必须得到结果的内容并将它们放在一个字符串

<?php
$sql = " SELECT *, TIMESTAMPDIFF(day, Date, NOW()) FROM `your_table_name` WHERE TIMESTAMPDIFF(day, Date, NOW()) = 1";
$query = mysql_query($query);
$emailBody = "";
while($row = mysql_fetch_assoc($query))
{
   $emailBody .= "Name: ".$row['Name']."; Address: ".$row['Address']."; Data: ".$row['Data']."; Email: ".$row['email']." \n";
}

mail("address@yourdomain.com", "Subject", $emailBody);
?>

享受!

答案 1 :(得分:1)

 SELECT email FROM Table WHERE DATEDIFF(CURRENT_DATE(), Date) >= 1

至于仅发送一次:存储您在数据库中发送电子邮件的事实,或者每天使用相等比较(=)而不是大于或等于(&gt; =)来调用脚本