Помогите отловить баг при отправке HTML письма функцией mail() PHP

Рейтинг: 0Ответов: 0Опубликовано: 09.03.2023

Господа, мое почтение. Очень странный баг.

У меня два аккаунта на одном хостинге, отправляя письмо с одного баг есть, с другого нет.

Суть:

Имею файл with_pdf_button.html, который я отправляю по почте. В письме стоит заглушка на месте имени пользователя '££££'. В коде ниже показано, что функция str_replace принимает файл, заменяет заглушку на Имя.

<?php
$name        = htmlspecialchars(trim($_POST['firstname']));
$email       = htmlspecialchars(trim($_POST['email']));
$to          = "$name <$email>";
$subject     = "Hello! It's Price ";
$message     = file_get_contents('../mail_parts/with_pdf_button.html');
$message     = str_replace('££££', $name, $message);
$headers     = "MIME-Version: 1.0" . "\r\n";
$headers     .= "Content-type:text/html;charset=UTF-8" . "\r\n";
$headers     .= 'Realm' . "\r\n";

Далее, вызываем функцию и ожидаем письмо

mail($to, $subject, $message, $headers);

Проверяю на тестовом сервере, письмо приходит и все как и ожидается. Выгружаю на продакшн.. в письме добавляется восклицательный знак с пробелом ! Прикрепляю скрин:

Почему то добавляется Восклицательный знак с пробелом

Причем чем длиннее будет name тем ближе к левому краю сдвигается !

Кто знает, в чем может быть дело? Почему такое может происходить?

файл HTML

Ответы

Ответов пока нет.