Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> mail() не работает! Где я напортачил или чё делать? 
:(
    Опции темы
navodri
Дата 27.6.2009, 13:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 173
Регистрация: 26.10.2007

Репутация: нет
Всего: -1



На форуме я нашел несколько ответов по моему вопросу, но они немного размыты. Можете дать конкретные ответы, в чем причины такого поведения и рекомендации, что делать лично на моем примере? Хочу заметить, что на виртуалке (в Денвере) этот код работает, а на хосте нет.

Вот код, который не работает на моем сайте:

Код

<?php
error_reporting(0);

header("Content-Type: text/html; charset=\"windows-1251\""); 
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); 
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); 
header("Cache-Control: no-store, no-cache, must-revalidate"); 
header("Cache-Control: post-check=0, pre-check=0", false); 
header("Pragma: no-cache"); 

//Указываем свой почтовый адрес
$email_it_to = "[email protected]";

//Переменные
$rnd = $_POST['rnd'];
$name = $_POST['name'];
$email = $_POST['email'];
$subject = $_POST['subject'];
$body = $_POST['body'];
$valid = $_POST['valid'];

function uft8html2utf8( $s ) {    
if ( !function_exists('uft8html2utf8_callback') ) {    
function uft8html2utf8_callback($t) {    
$dec = $t[1];    
           if ($dec < 128) {    
             $utf = chr($dec);    
           } else if ($dec < 2048) {    
             $utf = chr(192 + (($dec - ($dec % 64)) / 64));    
             $utf .= chr(128 + ($dec % 64));    
           } else {    
             $utf = chr(224 + (($dec - ($dec % 4096)) / 4096));    
             $utf .= chr(128 + ((($dec % 4096) - ($dec % 64)) / 64));    
             $utf .= chr(128 + ($dec % 64));    
           }    
           return $utf;
}    
}    
return preg_replace_callback('|&#([0-9]{1,});|', 'uft8html2utf8_callback', $s );    
}

function utf8RawUrlDecode($source) {
    $decodedStr = "";
    $pos = 0;
    $len = strlen($source);
    while ($pos < $len) {
        $charAt = substr($source, $pos, 1);
        if ($charAt == '%') {
            $pos++;
            $charAt = substr($source, $pos, 1);
            if ($charAt == 'u') {
                // we got a unicode character
                $pos++;
                $unicodeHexVal = substr($source, $pos, 4);
                $unicode = hexdec($unicodeHexVal);
                $entity = "&#". $unicode . ';';
                $decodedStr .= utf8_encode($entity);
                $pos += 4;
            }
            else {
                // we have an escaped ascii character
                $hexVal = substr($source, $pos, 2);
                $decodedStr .= chr(hexdec($hexVal));
                $pos += 2;
            }
        } else {
            $decodedStr .= $charAt;
            $pos++;
        }
    }
    return $decodedStr;
}

if(!isset($rnd) || !isset($name) || !isset($email) || !isset($subject) || !isset($body) || !isset($valid)) {
 die();
}
    $email_from = $email;

    $email_subject = "Тема: ".iconv('UTF-8','windows-1251',uft8html2utf8(utf8RawUrlDecode(stripslashes($subject))));

    $email_message  = "Отправитель: ".iconv('UTF-8','windows-1251',uft8html2utf8(utf8RawUrlDecode(stripslashes($name))))."\n";
    $email_message .= "Дата отправки: ".date("d/m/Y").", время: ".date("H:i")."\n\n";
    $email_message .= "======== НАЧАЛО СООБЩЕНИЯ =======\n";
    $email_message .= iconv('UTF-8','windows-1251',uft8html2utf8(utf8RawUrlDecode(stripslashes($body))));
    $email_message .= "\n======== КОНЕЦ СООБЩЕНИЯ ========";

    $headers = 'From: '.$email_from."\r\n".'Reply-To: '.$email_from."\r\n".'X-Mailer: PHP/'.phpversion();

    mail($email_it_to, $email_subject, $email_message, $headers);
 die();
?>

PM MAIL WWW   Вверх
bars80080
Дата 27.6.2009, 14:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



а на хосте почта есть?
PM MAIL WWW   Вверх
navodri
Дата 22.7.2009, 12:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 173
Регистрация: 26.10.2007

Репутация: нет
Всего: -1



На хосте есть ихняя почта, что использует CGI. Я же использую Ajax + PHP. Раньше работала, а теперь - фонарь! Чё делать?
PM MAIL WWW   Вверх
lelik133
Дата 22.7.2009, 13:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 517
Регистрация: 5.2.2003
Где: Москва

Репутация: 5
Всего: 14



если не работает то наверно стоит заняться debug`ом.
создайте файлик с единственной конструкцией mail() и отправьте тестовое сообщение.  Ну и error_reporting(E_ALL) коненчо. Посмотрите какие ошибки выводит.
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0461 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.