Почему если в инпуте написать два слова с пробелом, то письмо не отправляется

не могу понять, если пишу Иванов Иван, то post name не считает и не отправляет, если просто иван, то рабоает

   <?
$name = $_POST['name'];
$phone = $_POST['phone'];
$name = htmlspecialchars($name);

$komu = '';
if (!empty($_POST["komu"]) && is_array($_POST["komu"]))
{
    $komu = implode(" ", $_POST["komu"]);
}
$skoka = '';
if (!empty($_POST["skoka"]) && is_array($_POST["skoka"]))
{
    $skoka = implode(" ", $_POST["skoka"]);
}
$prosrochki = '';
if (!empty($_POST["prosrochki"]) && is_array($_POST["prosrochki"]))
{
    $prosrochki = implode(" ", $_POST["prosrochki"]);
}
$imushestvo = '';
if (!empty($_POST["imushestvo"]) && is_array($_POST["imushestvo"]))
{
    $imushestvo = implode(" ", $_POST["imushestvo"]);
}
$recipient = "[email protected]";
$subject = "Заявка с сайта";
$message = "<html>\n<body>\n\n <p>Имя - <b>".$name."</b>, Телефон - <b>".$phone."</b></p>\n
<p>Кому должен - <b>".$komu."</b></p>\n
<p>Сколько должен - <b>".$skoka."</b></p>\n
<p>Есть ли просрочки <b>".$prosrochki."</b></p>\n
Есть ли имущество в залоге? - <b>".$imushestvo."";
$headers = 'MIME-Version: 1.0' . "\r\n" . 'Content-type: text/html; charset=utf-8' . "\r\n" . 'From: ' . $_POST["name"];
$verify = mail($recipient, $subject, $message, $headers);
if ($verify == true)
{
echo "<p>Спасибо Вам за заявку, в ближайшее время с Вами свяжеться наш Менеджер</p>";
}
else
{
echo "<p>Сообщение не отправлено</p>";
}

?>

Ответы (1 шт):

Автор решения: mepihindeveloper

Возможно надо использовать конструкцию name <email>, где name Иванов Иван, а email - его почтовый адрес. Насколько я знаю, в From можно указать либо email, либо имя и email.

В своих реализациях я использовать следующим образом:

$from = (!array_key_exists('name', $this->sender) || is_null($this->sender['name'])) ? $this->sender['email'] : $this->sender['name'] . "<" . $this->sender['email'] . ">";
$headers[] = "From: " . $from;
→ Ссылка