Я отправляю электронное письмо нескольким получателям, используя приведенный ниже код, но у него есть проблема. Сначала я должен установить все письма на 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"/>
Если вы хотите создать список получателей электронной почты, вы можете использовать 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 операционной системы.
Других решений пока нет …