Почему Почта PHP не отправляется нескольким получателям?

При использовании mail()функции PHP, я получаю письмо на оба счета, когда параметр «to» установлен в:

"test@example2.com,test@example1.com"

но когда я меняю их вокруг:

"test@example1.com,test@example2.com"

письмо доставляетсяtest@example2.com, но не test@example1.comдоставляется . Также он не получает сообщение электронной почты, если указан в качестве заголовка CC или BCC.

Может ли кто-нибудь предположить, почему это может быть так? Все шло хорошо еще пару недель назад. Насколько мне известно, на моем сервере ничего не изменилось, хотя это общий хостинг, поэтому возможно, что это так.

Важно отметить: mail()функция всегда возвращаетсяtrue, независимо от порядка. example1.comтакже является отправляющим сервером.

Мой код выглядит следующим образом:

$from = 'sales@example1.com';

$headers = '';
$headers .= 'From: My Site <' . $from . ">rn" .
            'Reply-To: ' . $_POST["Email"] . "rn" .
            'X-Mailer: PHP/' . phpversion();

$body = 'Message goes here';

$to = 'test@example1.com,test@example2.com'; // will not send to test@example2.com, though will if the addresses are swapped

if ( mail( $to, 'Subject goes here', $body, $headers, '-f ' . $from ) ) {
    $url = "/contact/?message=sent";
} else {
    $url = "/contact/?message=failed";
}

header("Location: $url");

1 ответ

  1. Глядя на руководство PHP, я замечаю, что в примере есть пробел после запятой..
    Пытаться

    $to = 'test@example1.com, test@example2.com'; 
    

    Вы также можете использовать раздел заголовки для добавления CC

    $headers .= 'Cc: 2ndaddress@example.com' . "\r\n";