[英]How to send multiple mails from multiple users tables in database(php + mysql + cronjob)?
我有一個MySQL數據庫,該數據庫具有一個包含所有用戶的表(名稱,電子郵件地址,密碼和其他一些列,如“ last_login”。然后,每個表都有一個名為“ LastnameFirstname”的用戶)。 “ LastnameFirstname”表包括多個電子郵件地址和與該電子郵件地址相對應的消息正文。
我想要的是向“ LastnameFirstname”表中找到的收件人發送電子郵件。
以下是一些對我有用的代碼,但僅適用於一個名為“ LastnameFirstname”的表。 我可以發送帶有相應正文文本的消息。
當滿足某些條件(例如“ isActivated”)或自上次登錄以來已超過7天時,應發送“ LastnameFirstname”表中的電子郵件。 因此,我如何訪問多個“ LastnameFirstname”表並將消息發送到相應的電子郵件地址。
我希望我說清楚。 請告訴我是否應該改善這個問題... google-fu沒有用。 我讀到一些有關加入和內爆的內容,但並沒有太大幫助。 最后,我想擁有一個可以在服務器端作為cronjob運行的腳本...
到目前為止,這是我的代碼:
<?php
mysql_connect("localhost", "root", "") or
die("No connection possible: " . mysql_error());
mysql_select_db("test");
//$result = mysql_query("SELECT emailadresse, message FROM StrohmeierStefan, table_LastnameFirstname");
$result = mysql_query("SELECT emailadresse, message FROM table_LastnameFirstname");
$headers = "From: test@test.de";
$subject = "Message Subject";
//$text = "Hallo Welt! Did it work?";
while ($row = mysql_fetch_array($result, MYSQL_BOTH)) {
printf ("eMail: %s", $row[0]);
printf("<br/>");
$to = $row[0];
$text = $row[1];
mail($to, $subject, $text, $headers);
}
mysql_free_result($result);
?>
您應該像這樣更改查詢:
$result = mysql_query("SELECT emailadresse, message FROM table_LastnameFirstname AS msg LEFT JOIN main_users_table AS usr ON msg.user_id = usr.id WHERE usr.isActive OR usr.last_login < DATE_SUB(NOW(),INTERVAL 1 WEEK)");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.