Я пробовал с этим кодом отправлять электронные письма людям с одинаковой категорией.
if ($action = 'message_til_flere') {
$vagt_ansat_email = $_POST['vagt_ansat_email'];
$select_alle_mails = " SELECT vagt_ansat_email FROM vagt_ansat_med_kategori WHERE vagt_kategori_id = $id ";
$til_vagter = array();
while ($row = mysql_fetch_array($select_alle_mails)) {
$til_vagter[] = $row['vagt_ansat_email'];
$to = $til_vagter;
$subject = "E-mail subject";
$headers = 'From: mywebpage' . "\r\n";
$headers .= 'Reply-To: mywebpage' . "\r\n";
$headers .= 'BCC: ' . implode(', ', $til_vagter) . "\r\n";
}
mail($to, $subject, $headers);
$ to не может быть массивом. Это должна быть строка. Несколько почтовых адресов должны быть разделены запятыми. Для этого вы можете использовать функцию php implode
$to = implode(',', $til_vagter);
Пример:
if ($action = 'message_til_flere') {
$vagt_ansat_email = $_POST['vagt_ansat_email']; // never used in this part
$select_alle_mails = " SELECT vagt_ansat_email FROM vagt_ansat_med_kategori WHERE vagt_kategori_id = $id ";
$til_vagter = array();
$result = mysql_query($select_alle_mails); // a connection to db is required
while ($row = mysql_fetch_array($result)) { // fetch results as array
$til_vagter[] = $row['vagt_ansat_email'];
}
$to = "[email protected]";
$subject = "E-mail subject";
$headers = 'From: mywebpage' . "\r\n";
$headers .= 'Reply-To: mywebpage' . "\r\n";
$headers .= 'BCC: ' . implode(', ', $til_vagter) . "\r\n";
$message = "Test Body";
mail($to, $subject, $message, $headers); // a message is required
}
Вы не выполнили запрос перед извлечением, и вы передали строку запроса в mysql_fetch_array()
что неверно. это результат запроса, который вы хотите получить:
$select_alle_mails = "SELECT vagt_ansat_email
FROM vagt_ansat_med_kategori
WHERE vagt_kategori_id = $id ";
$result = mysql_query($select_alle_mails);
$til_vagter = array();
while ($row = mysql_fetch_array($result)) {...}
mail()
есть ограничение на получателя, но@vonHergen
и @dagon
для @dagon
других @dagon
Я лично отправил бы одну почту за один раз в цикле:
if ($action = 'message_til_flere') {
// $vagt_ansat_email = $_POST['vagt_ansat_email']; //not used?
$select_alle_mails = " SELECT vagt_ansat_email FROM vagt_ansat_med_kategori WHERE vagt_kategori_id = $id ";
//RUN QUERY
$sel_result = mysql_query($select_alle_mails);
while ($row = mysql_fetch_array($sel_result)) {
$subject = "E-mail subject";
$headers = 'From: mywebpage' . "\r\n";
$headers .= 'Reply-To: mywebpage' . "\r\n";
$message="dear bob, having fun?";
mail($row['vagt_ansat_email'], $subject, $message, $headers);
}