PHP mail (): заголовок появляется в теле письма - PullRequest
2 голосов
/ 11 июля 2011

У меня проблема с почтовым приложением, которое я сейчас разрабатываю с помощью php на сервере linux. После отправки электронного письма на несколько разных адресов с разными клиентами, иногда эти письма не могут быть прочитаны получателями. Например, тело, кажется, начинается с этого:

boundary="=_2cac04098ebf51c342bd57eab2200e38"
Message-ID: <lo5huc.id4ip6qutsch.lforce.de>
Date: Mon, 11 Jul 2011 06:01:24 +0200 (CEST)

--=_2cac04098ebf51c342bd57eab2200e38

Я действительно понятия не имею, что происходит с моей почтой. Каждая строка в заголовке отделяется \n, граничная запись имеет начальный \t. Хотя клиент, кажется, читает разрыв строки, которого нет при анализе моего заголовка. Это также происходит в других частях заголовка.

У кого-нибудь когда-нибудь была подобная проблема? Пожалуйста, помогите мне!

Andy

ОБНОВЛЕНИЕ: Я уверен, что это не ошибка кодирования. Я много лет кодировал этот почтовый материал (даже написал свой собственный почтовый клиент), и он работал отлично. Прямо сейчас мы используем класс RMAIL, который также взят из более крупного проекта с открытым исходным кодом. Я думаю, что это больше похоже на проблему с конфигурацией моей системы ... но это только предположение.

Ответы [ 2 ]

0 голосов
/ 11 июля 2011

Я предлагаю использовать PHPMailer, простой в использовании, заботится обо всех вспомогательных заголовках, легкой отправке вложений, нескольких получателях и т. Д.

http://phpmailer.worxware.com/index.php?pg=phpmailer

0 голосов
/ 11 июля 2011

Убедитесь, что вы правильно разделяете каждую строку заголовка, например:

<?php
   //To send HTML mail, the Content-type header must be set
   $headers  = 'MIME-Version: 1.0' . "\r\n";
   $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

   // Additional headers
   $headers .= 'To: Mary <mary@example.com>, Kelly <kelly@example.com>' . "\r\n";
   $headers .= 'From: Birthday Reminder <birthday@example.com>' . "\r\n";
   $headers .= 'Cc: birthdayarchive@example.com' . "\r\n";
   $headers .= 'Bcc: birthdaycheck@example.com' . "\r\n";

   // Mail it
   mail($to, $subject, $message, $headers);
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...