Глюк с mail header на PHP5

Gorynych

Посетитель PHP-Клуба
sax player
если подумать. то по результату выполнения код приведенных мной методов не должен принципиально отличаться от вашего.

вывод: дело не в PHP

для очистки совести - выложите дамп $to, $subject и $headers перед вызовом mail(...)

но мне кажется, что дело в параметрах сервера или каких-то вариациях выполнения PHP 5. Аналогичный код на ЭТОМ же сервере на PHP 4 работает?
 

sax player

Новичок
Wicked
Пока не работает.


Но другая подобная директива срабатывает - я говорю о
ini_set('display_errors','On');

-~{}~ 29.07.06 21:07:

Gorynych
Работает (правда, возможно, что у хостера не один сервер)
Конечно, РНР ни при чем.
Про дамп - можно подробнее?
 

sax player

Новичок
Wicked
Ты прав - директива не срабатывает. Оказалось, я эту заразу не отключил!!! (я говорю о Регистер Глобалс)
А есть идея - как отключить? В мане только NI_SET
 

Wicked

Новичок
только через php.ini, .htaccess или апачевский конфиг.

ты понял, почему ее нельзя отключить из скрипта?
 

Gorynych

Посетитель PHP-Клуба
http://ru.php.net/var_dump

именно перед вызовом mail(...) и результат - в студию. Если ТАМ нормальные заголовки, то ТРЯСИТЕ тех. поддержку хостера.
 

sax player

Новичок
Wicked
Работает ini_set('display_errors')
http://segrex.com/ini.php

-~{}~ 29.07.06 21:29:

Wicked
Большой разницы не вижу

-~{}~ 29.07.06 21:31:

Gorynych
Сорри, не понимаю, что значит выложить дамп
 

baev

‹°°¬•
Команда форума
Автор оригинала: baev
обратитесь к хостеру, чтоб MTA правильно настроил
И, да, совсем забыл: в результатах phpinfo() обратный адрес какой стоит?
В sendmail_path что прописано?
 

sax player

Новичок
baev
sendmail_from - no value (и не могу поменять через ini_set)
sendmail_path - /usr/sbin/sendmail -t -i (но по-моему если это поменять - почта перестает отсылаться)
 

Gorynych

Посетитель PHP-Клуба
sax player
string(87) "[email protected] MIME-Version: 1.0 Content-type: text/html; charset=windows-1251 "
Вроде все в порядке - адрес выглядит [email protected]
вот я не вижу, что НОРМАЛЬНОГО в этом дампе. Лично я НЕ увидел
Код:
From: [email protected]
MIME-Version: 1.0
Content-type: text/html; charset=windows-1251
...
можно корректно скопировать результат вот такого кода:
Код:
echo "<pre>\n";
var_dump($headers);
echo "</pre>\n"
внутрь псевдотегов: [code]...[/code]

потому что я, как Станиславский, не верю :)
 

baev

‹°°¬•
Команда форума
Автор оригинала: sax player
sendmail_from - no value (и не могу поменять через ini_set)
sendmail_path - /usr/sbin/sendmail -t -i (но по-моему если это поменять - почта перестает отсылаться)
Ничего из этого менять не надо!

Нужно (ещё раз!) либо к хостеру обратиться, чтобы настройки sendmail'а подправил, либо пятым параметром при вызове mail() попробовать писать, типа:
Код:
(второй вариант может и не «прокатить»...)
 

Gorynych

Посетитель PHP-Клуба
baev про второй вариант так и хочется спросить: и на фига? Это собственно что мы тут пропихуть в качестве доп параметра пытаемся?
Код:
-f sender
              Set the envelope sender  address.  This  is  the  address  where
              delivery  problems  are  sent to, unless the message contains an
              Errors-To: message header.
для особо одаренных поясню: этот параметр ДОБАВИТ адрес для возврата в заголовок Return-Path.

видимо имелось в виду mail($to, $subj, $mess, $headers, '-Fимя@хост.зона')

но это ТОЖЕ НЕ ВЕРНО, потому как через -F добавляется ПОЛНОЕ ИМЯ, а НЕ АДРЕС

нормальные у него значения и sendmail_from и sendmail_path. Меня все еще смущает что на самом деле в заголовках получается перед вызовом mail?

и, второй вариант, это за каким-то ражном что-то не так настроили на сервере. И трясти надо тех.поддержку.
 

sax player

Новичок
Gorynych
Тоб что я привел - не устраивает?
Да я уже понял - это настройки сервера, конечно же, и из скрипта их не поправить.
 

Gorynych

Посетитель PHP-Клуба
sax player
сдаюсь. Надо задать пару вопросов тех.поддержке, чесн.слово

ну реально, выкинул все что мог из PHP 5 приходов. В тупом варианте скрипт:
Код:
<?php
$to = '[email protected]';
$subj = 'mail testing';
$mess=<<<EOM
Hi!

Can you read this message from [email][email protected][/email]?

--
Gorynych

EOM;

$from = "[email protected]";
$headers = "From: $from\r\n";
$headers .= "MIME-Version: 1.0 \r\n";
$headers .= "Content-type: text/plain; charset=windows-1251\r\n";

var_dump(mail($to, $subj, $mess, $headers));
?>
совершенно честно присылает мне на Гугл письмо с
Код:
X-Gmail-Received: 8df980773193633c47a28226db089073b6417061
Delivered-To: [email][email protected][/email]
Received: by 10.78.44.6 with SMTP id r6cs117372hur;
        Sat, 29 Jul 2006 11:12:51 -0700 (PDT)
Received: by 10.35.61.14 with SMTP id o14mr1103118pyk;
        Sat, 29 Jul 2006 11:12:50 -0700 (PDT)
Return-Path: <[email protected]>
Received: from XXX.XXX.XX ([nnn.nnn.nnn.nnn])
        by mx.gmail.com with ESMTP id n40si2765066pyg.2006.07.29.11.12.49;
        Sat, 29 Jul 2006 11:12:50 -0700 (PDT)
Received-SPF: neutral (gmail.com: XXX.XXX.XXX.XXX is neither permitted nor denied by best guess record for domain of [email][email protected][/email])
Received: from XXX.XXX.XX (localhost.XXX.XX [127.0.0.1])
	by XXX.XXX.XX (8.13.1/8.13.1) with ESMTP id k6TICZmk020721
	for <[email protected]>; Sat, 29 Jul 2006 22:12:35 +0400 (MSD)
	(envelope-from [email][email protected][/email])
Received: (from XXXXX@localhost)
	by XXX.XXX.XX (8.13.1/8.13.1/Submit) id k6TICYhG020720;
	Sat, 29 Jul 2006 22:12:34 +0400 (MSD)
	(envelope-from XXX)
Date: Sat, 29 Jul 2006 22:12:34 +0400 (MSD)
Message-Id: <[email protected]>
To: [email][email protected][/email]
Subject: mail testing
[b]From: [email][email protected][/email][/b]
MIME-Version: 1.0 
Content-type: text/plain; charset=windows-1251

...
 

sax player

Новичок
Ну и у меня все везде так работает - это только с этим хостом какая - то хрень
Буду теребить хостераю
Всем спасибо
Тема закрыта
 
Сверху