Как отправить электронную почту нескольким получателям, используя поле textarea?

Я отправляю электронное письмо нескольким получателям, используя приведенный ниже код, но у него есть проблема. Сначала я должен установить все письма на php-коде ($ to = «email, email, email more»). Тогда я могу отправить им письмо.

Мне нужно текстовое поле () для вставки всех моих писем / списков рассылки и отправки их.
Я не хочу добавлять электронную почту по одному на php-код.

Это мой код:

<?php
$to = $_POST['email_list']; //i'm trying this but not working.
//$to = "xyz@somedomain.com".","."xyz1@somedomain.com".","."xyz2@somedomain.com";
$subject = $_POST['subject'];
$message = $_POST['message'];
$header = "From:abc@somedomain.com \r\n";
$retval = mail ($to,$subject,$message,$header);
if( $retval == true ) {
echo "Message sent successfully...";
}else {
echo "Message could not be sent...";
}
?>
<textarea type="text" name="email_list"></textarea><br/>
<input type="text" name="subject"/><br/>
<textarea type="text" name="message"></textarea><br/>
<input type="submit" name="submit" value="Submit"/>

-3

Решение

Если вы хотите создать список получателей электронной почты, вы можете использовать explode() чтобы получить список писем в массив, а затем использовать implode() чтобы получить их в одну строку с разделителем запятыми.

Например, если у вас есть текстовое поле с адресом электронной почты, разделенным символом новой строки (одно письмо на строку), вы можете использовать PHP PHP_EOL в качестве разделителя.

// Get the submited email addresses into an array
$email_list = explode(PHP_EOL, $_POST['email_list']);
// Implode that array into a comma-delimited string
$to = implode(",", $email_list);

При необходимости вы можете запустить $email_list через foreach петля или array_walk во-первых, если вы хотите проверить адреса электронной почты и т. д.

редактироватьСмотрите этот ответ: Разбить строку PHP новой строкой.
Вместо того, чтобы полагаться на PHP_EOL, может быть лучше использовать регулярное выражение для поиска \ r и \ n. Причина в том, что EOL зависит от системы (сервера), а фактический символ (ы) разрыва строки поступает из браузера конечного пользователя, который использует их EOL операционной системы.

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector