PDA

Просмотр полной версии : Отправка e-mail из флеша: письма испаряютсяят


mitado
05.03.2009, 00:01
Необходимо отослать инфу из флеша по почте.
При попытке сделать это письма уходят в никуда, а функция mail() возвращает "1".
При этом, при локальной отладке письма создаются.
Если убрать ссылку на POST переменные, заменяя их статичным текстом - на сервере все работает.

Уже вроде и кодировки все перекувырял и строки конвертил по всякому - ничего не помогает. С чем это может быть связано?

KODERart
05.03.2009, 08:03
Покажите actionscript код который отправляет данные в php.

mitado
05.03.2009, 12:06
Отправляю из флекса. Упрощенно код такой:
...
var subject:String = "Запрос от "+fio.text;
var message:String = "<html><head><title>"+subject+"</title></head><body><p>"+ fio.text + " из "+company.text + " хочет знать подробнее о помещениях...</p>и т.д....</body></html>";

var headers:String = "MIME-Version: 1.0\r\n";
headers += "Content-type: text/html; charset=utf-8\r\n";
headers += "From: offers@mysite.ru\r\n";

myHTTPService.send({subject:subject, headers:headers, message:message });
...

код PHP

<?
print mail("mymail@myhost.ru", $_POST['subject'], $_POST['message'], $_POST['headers'];

?>



При локальном тестировании скрипт возвращает "1", срабатывает заглушка, и в папке !sendmail появляется соответствующее письмо.
При тестировании на удаленном сервере возвращается "1", но письма никуда не доходят (пробовал разные ящики).

Пробовал передавать из флеша простой статичный текст - бесполезно.
Только если убить запросы к POST массиву скрипт начинает работать.

Может это настройки какие хитрые в PHP?

iflamberg
05.03.2009, 13:09
ну попробуйте для начала напрямую из php отправить письмо

Reon
23.03.2009, 15:30
Первое на что надо обратить внимание - не все сервера, на которые выкладывают сайты поддерживают прямое обращение к глобальному массиву $_POST, попробуйте в начале PHP скрипта назначать значения этого массива переменным: $a=$_POST['a'];
$b=$_POST['b']; и т.д. А затем обращаться именно к переменным.
Возможно дело в этом.
З.Ы.
Зачем перед функцией mail() ключевое слово print?