|
|
|
| Господа, прошу Вашего совета!
Никак не могу понять в чём дело..
Суть в том, что на моём сайте есть отправка писем пользователям (допустим, после их регистрации). Ес..но осуществляется функцией mail.
Так вот: если письмо приходит на yandex или mail или rambler всё ок, НО! в Outlook'е, по непонятной
причине, отсутствует заголовок "от кого" (то, что прописывается в mail последним пунктом: $header="From: info@мой сайт.ru\r\n";)
Если, кто сталкивался с подобным чудом, расскажите плиз в чём дело.
P.S. На локальном сервере всё в ажуре)) | |
|
|
|
|
|
|
|
для: flintik
(30.06.2008 в 21:32)
| | Попробуй в функцию mail() после заголовков явно указать адрес для ответа:
mail("komu@host.ru","тема","сообщение","$header", "-finfo@мой сайт.ru"); | |
|
|
|
|
|
|
|
для: Loneliness
(30.06.2008 в 23:33)
| | Loneliness, спасибо за отклик.
Reply-To: мой адрес@мой домен.ru - я уже пробывал использовать. Похоже, это не помогает.
Кстати, забыл сказать, что хотя поле - "От Кого" в Outlook'e пустое, наверху в теле письма! присутствует надпись (From: мой адрес@мой домен.ru), тут же: Message-Id: адрес электронной почты моего хоста и дата.
Вообщем, вопрос остаётся в силе! | |
|
|
|
|
|
|
|
для: flintik
(01.07.2008 в 00:25)
| | Я ничего не писал про Reply-To. Я предлагал указать дополнительный, пятый параметр в функции mail, а не в почтовых заголовках. Из моего практического опыта- это несколько разные вещи.
По поводу того, что вместо поля ОТ КОГО данные пишутся в тело письма- вероятно, не мешало бы посмотреть твой код отправки. И вообще, такая ситуация только в аутлуке? The Bat, например, нормально показывает? | |
|
|
|
|
|
|
|
для: Loneliness
(01.07.2008 в 00:36)
| | Пятый параметр тоже не помог, к сожалению.
Вот код:
$address = "имя@домен.ru";
$subject = "ля-ля-ля";
$message = "текст";
$header="Content-Type: text/plain; charset=windows-1251\r\n";
$header.="From: мой адрес@домен.ru\r\n";
mail("$address","$subject","$message","$header"); | |
|
|
|
|
|
|
|
для: flintik
(01.07.2008 в 01:56)
| | - | |
|
|
|
|
|
|
|
для: Valick
(01.07.2008 в 02:30)
| | Уважаемый, Valick, что это значит? | |
|
|
|
|
33.9 Кб |
|
|
для: flintik
(04.07.2008 в 12:17)
| | Еще раз (и последний) выставляю самое основное, что необходимо знать при формировании почтового отправления. Если его верно составить, то проблем обычно не возникает. Читайте. | |
|
|
|
|
|
|
|
для: sim5
(04.07.2008 в 13:37)
| | Спасибо, sim5. Очень верно подмечено "...проблем обычно не возникает..." :))
На самом деле проблема решилась после удаления \r
Всем фенкс! | |
|
|
|
|
|
|
|
для: flintik
(10.07.2008 в 13:53)
| | Я делаю так:
<?
$CRLF = substr(PHP_OS, 0, 3) != "WIN" ? "\n" : "\r\n";
|
и проблем с этим тоже не возникает. | |
|
|
|
|
|
|
|
для: flintik
(04.07.2008 в 12:17)
| | Это значит, что только так можно удалить пост.
Просто я написал, то что уже написали выше... вобщем "не к селу" поэтому удалил. | |
|
|
|
|
|
|
|
для: Valick
(11.07.2008 в 09:17)
| | А вот если SMTP сервер находится на другом сервре т.е. в php.ini приходится прописывать SMTP = myserver.ru, то почемуто письма уходить нехотят. Вопрос в следующем у когонибудь вообще mail() работает если SMTP не localhost ? | |
|
|
|
|
|
|
|
для: pav4
(29.08.2008 в 07:20)
| | Да | |
|
|
|
|
|
|
|
для: mihdan
(30.08.2008 в 02:15)
| | а вчем могут уменя быть проблемы если, mail() возвращает true, а писмо не приходит и в логах почтового тоже ничего | |
|
|
|
|
|
|
|
для: pav4
(30.08.2008 в 07:11)
| | Читаем внимательно:
mail - отправляет почту.
bool mail (string to, string subject, string message [, string additional_headers [, string additional_parameters]])
mail() автоматически отправляет сообщение message получателю to. Можно специфицировать несколько получателей, разделив запятой адреса в to. С помощью этой функции можно высылать Email с присоединением/attachment и содержимое специальных типов. Это делается через MIME-кодировку. Могут помочь и следующие RFC-документы: RFC 1896, RFC 2045, RFC 2046, RFC 2047, RFC 2048 и RFC 2049.
mail() возвращает TRUE, если почта была успешно принята для доставки, FALSE в ином случае.
Предупреждение! Windows-реализация mail() во многом отличается от Unix-реализации. Во-первых, она не использует локальный экзешник для составления сообщений, а работает лишь по прямым сокетам, что означает, что MTA должен прослушивать сетевой сокет (который может находиться на локальной или удалённой машине). Во-вторых, специальные шапки/headers вроде From:, Cc:, Bcc: и Date: не интерпретируются MTA, а разбираются в PHP.
PHP < 4.3 поддерживал только header-элемент Cc: (и был чувствительным к регистру).
PHP >= 4.3 поддерживает все элементы шапки и нечувствителен к регистру символов.
Чувствуете разницу между "была успешно принята для доставки", с реальной доставкой письма получателю?
PS. По большому счету, если у вас синтаксис отправляемого сообщения не имеет ошибок, сама функция mail работает, то от проверки if (mail(...)) проку никакого нет. Если у вас на хосте доступ к почте, это только вызвать mail(), то никаких логов вы и не увидите, обращайтесь к хостеру, он вам вышлет таковые, если есть проблемы с доставкой писем. | |
|
|
|