コメント、userId、true/false をメールで送信するかどうかを保持する「ユーザー コメント」のデータベースがあります。
私の問題は、ユーザーが投稿に 5 回コメントした場合、そのユーザーはそのデータベースに 5 回含まれているため、同じメールを 5 通受け取ることです。これが私のセットアップです:
このコメントについてメールを受け取りたいデータベース内のユーザーを検索します
$ab = $modx->newQuery('Comments');
$ab->leftJoin('modUserProfile','Profile',array('Profile.internalKey = Comments.author'));
$ab->leftJoin('Bulletin','Bulletin',array('Bulletin.id = Comments.bulletin_id'));
$ab->where(array('Comments.bulletin_id' => $bullId));
$ab->where(array('Comments.email' => 1));
$ab->select(array('Comments.*','Profile.fullname as fullname' , 'Profile.email as email' , 'Bulletin.title as title'));
$emailList = $modx->getCollection('Comments',$ab);
今、彼らにメールしてください
foreach ($emailList as $e){
$modx->getService('mail', 'mail.modPHPMailer');
$modx->mail->address('to',$e->email);
$modx->mail->set(modMail::MAIL_BODY,$message);
$modx->mail->set(modMail::MAIL_SUBJECT,'A new comment has been posted!');}
ユーザーが行ったコメントの量に関係なく 1 つの電子メールのみを受け取るように、ユーザーに電子メールを送信するにはどうすればよいですか? 上記が十分に明確でない場合はお知らせください。ありがとうございました!!