0

我创建了一个页面,该页面每 30 分钟运行一次,并将向所有已注册的活动参与者发送一封包含会议信息的电子邮件。可能同时发生多个事件,因此一个人可能会收到一个事件的会议信息,而另一个人可能会收到另一个事件的会议信息。我创建了这个页面,该页面在将电子邮件发送给一个活动的所有与会者时有效,但如果有多个活动,它不会发送这些。请告知我如何调整我的代码。谢谢你。

<?php
$events = new WA_MySQLi_RS("events",$rsvp,0);
$events->setQuery("Select * from (select * from registrants) t1 left join (select *, sessionID as thesessionID from sessions where sent is NULL and start_date = CURDATE() and CURRENT_TIME() >= (start_time - INTERVAL 30 MINUTE)) t2 on (t1.sessionID = t2.sessionID) left join (select *, eventID as theeventID from events) t3 on (t3.eventID = t2.eventID) left join (select * from parents) t4 on (t4.parentID= t1.parentID) left join (select * from zoom_google_meet) t5 on (t5.sessionID = t2.sessionID) left join (select * from events) t6 on (t6.eventID = t2.eventID) where virtual_inperson = 'Virtual' group by t1.registerID order by parent_lname");
$events->execute();
$notice_url1 = 'https://zoom.us/join';
$notice_url2 = 'https://meet.google.com/';
$start_date = date("m/d/Y", strtotime($events->getColumnVal("start_date")));
  $start_time = date("h:i a", strtotime($events->getColumnVal("start_time")));
  $title = $events->getColumnVal("title");
  $web_url = $events->getColumnVal("web_url");
  $sessionID = $events->getColumnVal("thesessionID");
  $registerID = $events->getColumnVal("registerID");
  $password = $events->getColumnVal("password");
  $meetingID = $events->getColumnVal("meetingID");

?>
<?php
if ($events->TotalRows > 0) {
for($i=0;$i<count($registerID);$i++){
 $emails = [];

 
while(!$events->atEnd()) {
  // So we have the two values we care about.
  $email = $events->getColumnVal("parent_email");

  
  // So we only attempt to email users that actually have email addresses.
  if(0 < strlen($email)) {
    array_push($emails, $email);
  }
  
  $events->moveNext();
}
 if(0 < count($emails)) { 
 
 $email_address =  implode(",",$emails);
$message = "Thank you for signing up to attend $title on $start_date at $start_time. To login to the meeting, please use the following information:\r\n \r\n $notice_url1 or $zoomI_url \r\n Meeting ID: $meetingID \r\n Password: $password \r\n \r\n Reminder: You must login to the meeting using the same name you registered with or you won't be allowed into the meeting. \r\n";
$message=wordwrap($message);
$to = '';
$subject = "$title Login Instructions | $start_date";
$headers = "From: schoolnews@cpsd.us\r\n";
$headers .= "Bcc: $email_address\r\n";
mail ($to, $subject, $message, $headers) or print "Error: Unable to send an email message to $email_address.";}
}}
?>

4

0 回答 0