Как отправлять письма на несколько списков писем из базы данных с помощью php - PullRequest
0 голосов
/ 26 ноября 2018

Я работаю над сценарием, чтобы отправить письмо на список электронных писем из моей таблицы, используя php

. В настоящее время я запускаю запрос к таблице и отображаю все электронные письма, отвечающие таким требованиям, из запроса SQL * 1003.*

sql="SELECT * FROM people WHERE status in('member','client')"; 
$result = mysql_query($sql)or die("Cannot query orders_products data" . mysql_error()); 

while($row=mysql_fetch_array($result)) { 
    $list = array();
$list[] = $row['Email']; 

echo implode(",",$list);

$email = 'xxxxxxxxxxx'; 
$emailto = implode( "," ,$list ); 

$subject = "xxxxxxxxxxxxxxxx"; 

$headers = "From: $email";

$body .= ++$i.") ".$row['title'] ."\n\n"; 
} 
$body .= "Regards\n\n"; 

$body .= "xxxxxxxxxxxxxxxxxx\n\n";

$send = mail($emailto, $subject, $body, $headers); 

когда я пытаюсь передать эти электронные письма во фрагмент функции почты, отправка почты не удается.

Пожалуйста, что я могу сделать не так, мне нужна помощь

Обновление:

$list[] = $row['Email']; 

    echo implode(",",$list);

отображаются все электронные письма

Но без запятых.

$emailto = implode( "," ,$list ); 

Я использую тот же метод развертывания массива данных, полученных из

$list[] = $row['Email'];

По ошибке я имею в виду, что я надеялся, так как электронные письма были отражены с помощью взрыва, все они успешно передадут электронные письма в $ emailto, а затем отправят письмо каждому из них.

1 Ответ

0 голосов
/ 26 ноября 2018

Итак, я думаю, вы пытаетесь получить адрес электронной почты из таблицы, где пользователь является либо участником, либо клиентом.Затем у вас есть адрес отправителя, субъект и тело.Кроме того, похоже, что вы пытаетесь добавить к телу некоторую уникальную информацию.Наконец, я думаю, что вы хотите отправить отдельное электронное письмо каждому пользователю, отдельно.

Вы можете изменить свой код так:

<?php
$sql="SELECT * FROM people WHERE status in('member','client')";
$result = mysql_query($sql) or die("Cannot query orders_products data" . mysql_error());

$emailContent = 'xxxxxxxxxxx';
$emailSubject = 'xxxxxxxxxxx';
$body = 'xxxxxxxxxxxxxxx';
$headers = "From: from@email.com";

while ($row = mysql_fetch_array($result)) {
  // optionally modify body here...?
  $emailBody = $body .= $row['title']; // or whatever you're trying to do here...

  // send email to each individual person
  mail($row['Email'], $emailSubject, $emailBody, $headers);
}

Я думаю это то, как вы изменили бы свой код, чтобы он делал то, что вы просите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...