1. Задавайте здесь вопросы о коде, которые не подходят в другие разделы, такие как:
    Дизайн > Верстка
    PHP > Как сделать на PHP
    Скрыть объявление

Скрипт не отправляет почту = ( XZero Classifieds

Тема в разделе "Web Coding", создана пользователем iznutri, 6 авг 2007.

Статус темы:
Закрыта.
Модераторы: latteo
  1. iznutri

    iznutri Писатель

    Регистр.:
    20 июл 2007
    Сообщения:
    6
    Симпатии:
    0
    Скачал и установил доску объявлений XZero Classifieds v4.95.11 _https://www.nulled.cc/showthread.php?t=13903&highlight=xzero
    Все работает, кроме отправки почты = (
    я практически не смыслю в PHP помогите разобраться.

    я так понимаю эта часть отвечает за отправку почты

    PHP:
     function xMail($to$subj$msg$from=""$charset="UTF-8"$xtraheaders="")
    {
        
    $headers  "";
        if(
    $from$headers .= "From: {$from}\n";
        
    $headers .= "MIME-Version: 1.0\n";
        
    $headers .= "Content-Type: text/plain; charset=\"$charset\"\n";
        
    $headers .= "Content-Transfer-Encoding: 7bit\n";
        
    $headers .= $xtraheaders;
        
    $headers .= "\n";

        
    $ret mail ($to$subj$msg$headers"-f$from");
        return 
    $ret;

    }

    function 
    HTMLMail($to$subj$msg$from=""$charset="UTF-8"$xtraheaders="")
    {
        
    $headers  "";
        if(
    $from$headers .= "From: {$from}\n";
        
    $headers .= "MIME-Version: 1.0\n";
        
    $headers .= "Content-Type: text/html; charset=\"$charset\"\n";
        
    $headers .= "Content-Transfer-Encoding: 7bit\n";
        
    $headers .= $xtraheaders;

        
    $ret mail ($to$subj$msg$headers"-f$from");
        return 
    $ret;

    }
    у хостера приведен пример скрипта отправки почты:

    PHP:
    Вы можете воспользоваться стандартной функцией mail(). Будьте осторожны и грамотны при конструировании русских писем!

    Письма робота 1Gb.ru отправляютсянапримертакой функцией:

    function 
    _mail ($from$to$subj$what)
    {
    mail($to$subj$what
    "From: $from
    Reply-To: 
    $from
    Content-Type: text/plain; charset=windows-1251
    Content-Transfer-Encoding: 8bit"
    );
    }

    Обратите внимание на переводы строк в строковой константе они должны присутствовать.
    Если вы хотите отправлять HTML письмавы должны дописать в константу заголовков вместо строки Content-type следующуюнапримерстроку:

    Content-Typetext/htmlcharset=windows-1251
    я пробовал изменять скрипт доски но мозгов видать не хватает.

    очень неплохая доска все есть и ничего лишнего, нашол и другие неплохие скрипты но в них или чегото не хватает или слишком много ненужного.

    Помогите пожалуйста, а я вас могу отблагодарить неплохими скриптами досок объявлений ;)

    :thenks: :thenks: :thenks: :thenks: :thenks: :thenks:
     
  2. Dogmat

    Dogmat Постоялец

    Регистр.:
    16 фев 2007
    Сообщения:
    122
    Симпатии:
    38
    Код:
    $headers .= "Content-Transfer-Encoding: 7bit\n";
    
    на первый взгляд:
    у тебя в скрипте прописано 7bit
    а хостер рекомендует 8bit

    также попробуй прописать :
    PHP:
    $headers.="From: $from\n";
    $headers.="Reply-To: $from\n";
    попробуй изменить, может поможет.
    если что будем думать=)
     
  3. nnmkayf

    nnmkayf

    Регистр.:
    25 июл 2007
    Сообщения:
    153
    Симпатии:
    98
    Есть еще один момент некоторые хостеры, например мой, запрещают доступ скриптам наружу, в том числе отправку почты.
    Лично я эту проблему обошел с помощью отдельного скритпа, который на хостинге формирует список, что нужно отправить, а отправляет почту, уже мой домашний сервер.
     
  4. HappyWorld

    HappyWorld Постоялец

    Регистр.:
    19 июл 2007
    Сообщения:
    83
    Симпатии:
    16
    что говорит error.log?
    что говорит phpinfo() о smtp сервере?
     
  5. iznutri

    iznutri Писатель

    Регистр.:
    20 июл 2007
    Сообщения:
    6
    Симпатии:
    0

    нет с этим все в порядке, другой скрипт абсолютно исправно слал письма :confused:
     
  6. iznutri

    iznutri Писатель

    Регистр.:
    20 июл 2007
    Сообщения:
    6
    Симпатии:
    0
    попробовал как вы советовали я понял это вот так:
    PHP:
    function xMail($to$subj$msg$from=""$charset="UTF-8"$xtraheaders="")
    {
        
    $headers  "";
        if(
    $from
        
    $headers .= "From: $from\n";
        
    $headers .= "Reply-To: $from\n";
        
    $headers .= "MIME-Version: 1.0\n";
        
    $headers .= "Content-Type: text/plain; charset=\"$charset\"\n";
        
    $headers .= "Content-Transfer-Encoding: 8bit\n";
        
    $headers .= $xtraheaders;
        
    $headers .= "\n";

        
    $ret mail ($to$subj$msg$headers"-f$from");
        return 
    $ret;
    не помагло:nezn:
     
  7. Dogmat

    Dogmat Постоялец

    Регистр.:
    16 фев 2007
    Сообщения:
    122
    Симпатии:
    38
    Попробуй так

    PHP:
    function xMail($to$subj$msg$from=""$charset="UTF-8"$xtraheaders=""

        
    $headers  ""
        
    $headers .= "From: yourmail@mail.ru\n"
        
    $headers .= "Reply-To: yourmail@mail.ru\n"
        
    $headers .= "Content-Type: text/plain; charset=windows-1251\n"
        
    $headers .= "Content-Transfer-Encoding: 8bit\n"
        
    $headers .= $xtraheaders
        
    $headers .= "\n"

        
    $ret mail ($to$subj$msg$headers); 
        return 
    $ret;
     
    iznutri нравится это.
  8. iznutri

    iznutri Писатель

    Регистр.:
    20 июл 2007
    Сообщения:
    6
    Симпатии:
    0
    ЗАРАБОТАЛО = ))))))
    но не до конца = (
    получилось следующее при регистрации объявления скрипт
    отправляет на ящик письмо со ссылкой активации эт хорошо
    а при попытке связаться с человеком опубликовавшем объявление снова пишет что письмо не отправлено = (
    вставил я следующее:
    PHP:
    function xMail($to$subj$msg$from=""$charset="UTF-8"$xtraheaders="")
    {
        
    $headers  "";
        
    $headers .= "From: support@katuha.com\n";
        
    $headers .= "Reply-To: support@katuha.com\n";
        
    $headers .= "Content-Type: text/plain; charset=windows-1251\n";
        
    $headers .= "Content-Transfer-Encoding: 8bit\n";
        
    $headers .= $xtraheaders;
        
    $headers .= "\n";

        
    $ret mail ($to$subj$msg$headers);
        return 
    $ret

    }

    function 
    HTMLMail($to$subj$msg$from=""$charset="UTF-8"$xtraheaders="")
    {
        
    $headers  "";
        
    $headers .= "From: support@katuha.com\n";
        
    $headers .= "Reply-To: support@katuha.com\n";
        
    $headers .= "Content-Type: text/plain; charset=windows-1251\n";
        
    $headers .= "Content-Transfer-Encoding: 8bit\n";
        
    $headers .= $xtraheaders;
        
    $headers .= "\n";

        
    $ret mail ($to$subj$msg$headers);
        return 
    $ret

    }
    отправлять начал после того, как я заменил первую часть кода. Я вставил свою почту так как хостер сказал что:" Для того, чтобы письмо было отправлено с сайта, в From: или To: должен быть указан ваш e-mail адрес из личного кабинета (зарегистрированный в вашем домене)" не знаю почему так ну да ладно. Вот, после чего я решил что вторая часть скрипта отправляет ответы на объявления и заменил в ней все по образу и подобию.

    форма добавления объявления - работает
    _http://katuha.com/board/index.php?view=post&catid=1&subcatid=1&cityid=1&lang=en
    форма ответа на объявления - не работает
    _http://katuha.com/board/?view=showad&adid=9&cityid=1&lang=en
    форма отправки ссылки на объявление другу - работает
    _http://katuha.com/board/?view=mailad&cityid=-1&adid=10&adtype=A

    Ну еще немножко и ЗаРаБоТаЕт = ))))
     
  9. iznutri

    iznutri Писатель

    Регистр.:
    20 июл 2007
    Сообщения:
    6
    Симпатии:
    0
    Помогите доразобраться пожалуйста :thenks: :thenks: :thenks:
    такая фигна происходит не тоько в этой доске но и еще в одной.
    Обе доски отправляют сообщения текст которых уже есть
    и на отрез отказываются отправлять письма со страници с формой где в ручную вводится текст и обратный адрес.
    Может кто сталкивался с таким, подскажите пожалуйста.
     
Статус темы:
Закрыта.