簡體   English   中英

如何從數據庫中的多個用戶表發送多個郵件(php + mysql + cronjob)?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM