Не отправляется почта с помщью функции mail()

Есть шаблон, mail.eml

From: {FROM}
To: {TO}
Subject: {SUBJECT}
Content-type: text/plain; charset=utf-8

{TEXT}

и код, который по идее должен отправлять письмо, но ничего не происходит:

<?php
// Функция отправляет письмо, полностью заданное в параметре $mail. Корректно обрабатываются заголовки To и Subject
function malix($mail) {
    // Разделяем тело сообщения и заголовки.
    list ($head, $body) = preg_split("/\r?\n\r?\n/s", $mail, 2);
    // Выделяем заголовок To.
    $to = "";
    if (preg_match('/^To:\s*([^\r\n]*)[\r\n]*/m', $head, $p)) {
        $to = $p[1]; // сохраняем
        $head = str_replace($p[0], "", $head); // удаляем из исходной строки
    }
    // Выделяем Subject.
    $subject = "";
    if (preg_match('/^Subject:\s*([^\r\n]*)[\r\n]*/m', $head, $p)) {
        $subject = $p[1];
        $head = str_replace($p[0], "", $head);
    }
    // Отправляем почту
    mail($to, $subject, $body, trim($head));

}

// Текст письма
$text = 'test text';

// Отправитель письма
$from = '[email protected]';

// Получатель письма
$to = '[email protected]';

// Тема письма
$subject = 'test';

// Считыаем шаблон
$tpl = file_get_contents('../templates/mail.eml');

// Отпрваляем письма в цикле по получателям, если их несколько, а если нет, просто отправляем письмо
$mail = $tpl;
$mail = strtr($mail, [
    "{FROM}" => $from,
    "{TO}" => $to,
    "{SUBJECT}" => $subject,
    "{TEXT}" => $text,
]);

malix($mail);

echo "Success!";

и кстати, данный код мне вернул true, но почему то в своем электронном ящике я не обнаружил письма(использовал я свой настоящий, вместо [email protected])

<?php
    var_dump(mail("[email protected]", "test", "test")); // bool(true)
?>

Версия PHP: 7.4 Local server: apache2 os: Debian

Если нужно, могу сделать дамп переменных


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