#php #email
#php #Адрес электронной почты
Вопрос:
Я пытаюсь использовать встроенную функцию «mail» в PHP, которая отлично подходит для моих нужд в размещенной среде LAMP с SiteGround. В этом случае я использую свой собственный сервер в Windows, и мои сообщения приходят с ложным символом (заглавной буквой «B»), добавленным к основному тексту. Я попытался заменить $mailBody в вызове простой строкой ‘abc’, и ложная заглавная буква ‘B’ по-прежнему добавляется. Я предполагаю, что проблема вызвана несоответствием кодировки символов. Я попытался изменить «Content-type» в заголовке с text / plain на text / html, а кодировку с windows-1251 на utf-8, ни один из которых не имеет никакого значения.
$headers = "MIME-Version: 1.0rn";
$headers .= "Content-type: text/plain; charset=windows-1251rn";
$headers .= "From: $confirmation_senderrn";
$bMailSuccess = mail ($strEmail, $business_name . ' Booking Confirmation', $mailBody, $headers);
php.ini
SMTP = internalmail
Как вы можете видеть, почта направляется на сервер с именем internalmail, и журналы на этом сервере предполагают, что ложный символ уже является частью основного текста, который он получает. Может кто-нибудь предложить исправление (желательно, кроме «установить какой-либо другой почтовый клиент»)?
Комментарии:
1. Если вы используете Windows, вам необходимо проверить настройки вашего программного обеспечения mta / smtp.
B
не будет отображаться из-за несоответствия кодировки, вы получите случайный мусор или неправильные символы, а не новый символ в НАЧАЛЕ строки.2. Спасибо, Марк. Вы имеете в виду настройки на SMTP-сервере, который я использую для доставки почты?
3. что-то вставляет это B. если этого нет в вашем собственном коде, то это либо в php-> mailclient, либо что-то в самом почтовом клиенте.