PHP отправляет почту на несколько адресов электронной почты

Какой код мне нужно изменить в этом скрипте PHP, чтобы отправить одно письмо на более чем 20 адресов электронной почты ?

<?php $email_to = "youremailaddress@yourdomain.com"; // your email address $email_subject = "Contact Form Message"; // email subject line $thankyou = "thankyou.htm"; // thank you page ?> 

Пожалуйста, приведи пример. Спасибо.

Solutions Collecting From Web of "PHP отправляет почту на несколько адресов электронной почты"

Для большей удобочитаемости в коде используется массив и вставляем его в строку, разделенную запятой:

 $recipients = array( "youremailaddress@yourdomain.com", // more emails ); $email_to = implode(',', $recipients); // your email address $email_subject = "Contact Form Message"; // email subject line $thankyou = "thankyou.htm"; // thank you page 

Просто разделите их запятой, например $email_to = "youremailaddress@yourdomain.com, emailtwo@yourdomain.com, John Doe <emailthree@example.com>" .

Ваш

 $email_to = "address@one.com, address@two.com, address@three.com" 

Необходимо быть списком адресов электронной почты с разделителями-запятыми.

 mail($email_to, $email_subject, $thankyou); 

Следующий код выполнит задачу ….

 <?php $contacts = array( "youremailaddress@yourdomain.com", "youremailaddress@yourdomain.com", //....as many email address as you need ); foreach($contacts as $contact) { $to = $contact; $subject = 'the subject'; $message = 'hello'; mail($to, $subject, $message, $headers); } ?> 

Что-то вроде этого:

 mail("john@doe.com , marry@mail.com , frank@domain.com", "Test e-mail", "Hi, this is a test message!"); 

http://myphpform.com/php-form-multiple-recipients.php

Лучший способ – сохранить все электронные письма в базе данных.

Вы можете попробовать этот код, если у вас есть электронная почта в базе данных

 /*Your connection to your database comes here*/ $query="select email from yourtable"; $result =mysql_query($query); 

/ указанный код зависит от того, где вы сохранили свои адреса электронной почты, поэтому убедитесь, что вы заменили его своими параметрами /

Затем вы можете сделать строку, разделенную запятой, из результата,

 while($row=$result->fetch_array()){ if($rows=='') //this prevents from inserting comma on before the first element $rows.=$row['email']; else $rows.=','.$row['email']; } в while($row=$result->fetch_array()){ if($rows=='') //this prevents from inserting comma on before the first element $rows.=$row['email']; else $rows.=','.$row['email']; } 

Теперь вы можете использовать

 $to = explode(',',$rows); // to change to array $string =implode(',',$cc); //to get back the string separated by comma 

С помощью вышеуказанного кода вы можете отправить электронное письмо таким образом

 mail($string, "Test", "Hi, Happy X-Mas and New Year"); 

В функции почты вы можете использовать столько дескрипторов, сколько хотите в $ emailto paramater, разделенных запятой.

Очень плохая практика отправлять все адреса электронной почты всем получателям; вы должны использовать Bcc (слепые копии с копией).

  $from = "myname@mymail.com"; $recipList = "mailaddress1,mailaddress2,etc"; $headers = "MIME-Version: 1.0\nContent-type: text/html; charset=utf-8\nFrom: {$from}\nBcc: {$recipList}\nDate: ".date(DATE_RFC2822); mail(null,$subject,$message,$headers); //send the eail 
  $recipients = "test1@test.com,test2@test.com,test3@test.com,test1@test.com"; $email_array = explode(",",$recipients); foreach($email_array as $email) { echo $to = $email; $subject = 'the subject'; $message = 'hello'; $headers = 'From: webmaster@example.com' . "\r\n" . 'Reply-To: webmaster@example.com' . "\r\n" . 'X-Mailer: PHP/' . phpversion(); mail($to, $subject, $message, $headers); } 

Я думаю, что следующий код будет работать.

 $tos = array('address1@yourdomain.com', 'address2@yourdomain.com'); foreach ($tos as $to){ $ok = mail ($to, $subject, $body, $from); } if ($ok) { echo "Message Send"; } else { echo "Error"; } 

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