Не могу настроить отправку почты с сайта

Тема в разделе "Каталоги, рейтинги, счетчики", создана пользователем zorgeus, 10 ноя 2011.

  1. zorgeus

    zorgeus Постоялец

    Регистр.:
    6 сен 2011
    Сообщения:
    128
    Симпатии:
    18
    Создал новую тему, так как куда только не писал, никто помочь не хочет, а я только в бан попадаю. Короче сайт работает на скрипте доски объявлений jboard 3.0 и вроде все проблемы мелкие порешали, но не работает только отправка почты с сайта подателю объявления.Проверял сервер, ответ приходит что почта отправляется. На других сайтах на этом сервере почта нормально уходит. Наверное проблема в самом скрипте доски объявлений, или что-то с сервером не стыкуется. Я кого только не просил помочь, все руками отмахиваются, а сайт по сути стоит мертвый из-за отсутствия связи подателя объявления с клиентами. Бессмыслица какая-то. Я же не бесплатно прошу помочь и я же знаю что это пустяковый вопрос для специалиста, но не силен я в php, да и скрипт весь такой вывернутый наизнанку, не поймешь где что начинается и где что заканчивается. Очень прошу помощи, помогите разобраться в этой проблеме, или тогда подскажите, как перенести базу объявлений на другую доску, например на скрипте QPL. Пишите в личку, или на мыло - Al2963(собака)gmail(точка)com Сайт можно посмотреть тут - доска объявлений
    Или может у кого есть подобный скрипт доски объявлений, или агенства недвижимости с хорошей защитой и функционалом, то я куплю.
     
  2. vlad_v

    vlad_v

    Регистр.:
    30 июн 2006
    Сообщения:
    444
    Симпатии:
    67
    Этот пост надо было делать в разделе про работу.
     
  3. zorgeus

    zorgeus Постоялец

    Регистр.:
    6 сен 2011
    Сообщения:
    128
    Симпатии:
    18
    О какой работе может идти речь, если я даже не знаю, что с этим скриптом делать, может совсем удалить, или может просто у кого есть такой же скрипт рабочий, без косяков, который просто можно поставить на сайт заново. Для начала нужно посмотреть и разобраться в чем причина, может это у меня косяки в голове.
     
  4. fiusa

    fiusa Писатель

    Регистр.:
    15 ноя 2011
    Сообщения:
    8
    Симпатии:
    1
    Попробуйте этот код для файла контактов contacts.php:
    <?
    session_start();
    session_register('qas');
    include("design/itop_index.inc.php");
    echo"<div align=center><span class=blue><h3>Контакты с администрацией</h3></span></div>";
    if (@$_POST['message'])
    {
    if(@$_POST['securityCode'] && @$_SESSION['securityCode'])
    {
    if(strtolower($_POST['securityCode'])==$_SESSION['securityCode'])
    {
    if(@$_POST['email'] != "")
    {
    if (!preg_match('/^[-0-9\.a-z_]+@([-0-9\.a-z]+\.)+[a-z]{2,6}$/i',$_POST['email'])) die ("<br /><br /><br /><center>Введите корректный e-mail</center>");
    $email = $_POST['email'];
    }
    else die ("<div align=center>Пожалуйста вернитесь<a href='java script:history.back(1)'>назад</a> и введите email</div>");
    $name = $_POST['name'];
    $site_name = $_SERVER['HTTP_HOST']."/";
    if(empty($name) || empty($message)) die ("Заполните все поля формы!");
    $subject="=?windows-1251?b?".base64_encode("Сообщение с сайта ".$site_name)."?=\r\n";
    $return = "<".$email.">"; // от кого
    $headers = 'MIME-Version: 1.0'."\r\n".
    'Content-type: text/plain; charset=windows-1251'."\r\n".
    'From: '.$return."\r\n".
    'Reply-To: '.$return."\r\n".
    'Return-Path: '.$return."\r\n".
    'X-Mailer: PHP/'.phpversion()."\r\n";
    $headers .="Content-type: text/plain; charset=windows-1251"."\r\n";
    $message = "Отправитель: ".$name."\n";
    $message .= $_POST['message'];

    if (mail($adresat, $subject, $message, $headers)) echo "<b><div align=center>Ваше сообщение было отправлено. В ближайшее время вы получите ответ.<br><a href='java script:history.back(1)'>назад</a></div><b>";
    else echo "Произошла ошибка при отправки письма";
    }
    else die ("<div align=center>Введен неверный защитный код! <a href=\'java script:history.back(1)\'>Попробуйте еще раз!</a></div>");
    } else die ("<div align=center>Ошибка! <a href=\'java script:history.back(1)\'>Попробуйте еще раз!</a></div>");
    }
    else
    {
    ?>
    <script type="text/JavaScript">
    function textCounter(field,counter,maxlimit,linecounter) {
    var fieldWidth = parseInt(field.offsetWidth);
    var charcnt = field.value.length;
    if (charcnt > maxlimit) {
    field.value = field.value.substring(0, maxlimit);
    }
    else {
    var percentage = parseInt(100 - (( maxlimit - charcnt) * 100)/maxlimit) ;
    document.getElementById(counter).style.width = parseInt((fieldWidth*percentage)/100)+"px";
    document.getElementById(counter).innerHTML="Лимит: "+percentage+"%"
    setcolor(document.getElementById(counter),percentage,"background-color");
    }
    }

    function setcolor(obj,percentage,prop){
    obj.style[prop] = "rgb(80%,"+(100-percentage)+"%,"+(100-percentage)+"%)";
    }
    </script>

    <form action="<? echo $PHP_SELF ?>" method=POST>
    <table align="center" cellspacing="10" width="60%"><tr valign="top"><td align="center">
    <font size="-1">Защитный код (4 символа)</font>
    <br />
    <img src="/images/code.gif" border="0" alt="Защитный код" align="absmiddle">&nbsp;&nbsp;
    <input type="text" size="13" name="securityCode" maxlength="4" title="Введите код, который изображен на картинке" align="absmiddle">

    <br /> <br />
    <input type="text" size="41" name=name maxlength="64" value="Ваше имя" id="name"
    onKeyDown="textCounter(this,'name1',64)"
    onKeyUp="textCounter(this,'name1',64)"
    onFocus="textCounter(this,'name1',64)">
    <br />
    <div id="name1" class="progress"></div>
    <script>textCounter(document.getElementById("name"),"name1",64)</script>
    <br />

    <input type=text name=email size="41" maxlength="32" value="E-Mail для обратной связи" id="email"
    onKeyDown="textCounter(this,'email1',32)"
    onKeyUp="textCounter(this,'email1',32)"
    onFocus="textCounter(this,'email1',32)">
    <br />
    <div id="email1" class="progress"></div>
    <script>textCounter(document.getElementById("email"),"email1",32)</script><br>

    <textarea cols="40" rows="6" name=message id="text"
    onKeyDown="textCounter(this,'text1',500)"
    onKeyUp="textCounter(this,'text1',500)"
    onFocus="textCounter(this,'text1',500)">Ваше сообщение
    </textarea>
    <br />
    <div id="text1" class="progress"></div>
    <script>textCounter(document.getElementById("text"),"text1",500)</script>
    <br />

    <font color="#FF0000"><strong>\Все поля обязательны для заполнения\</strong></font><br />
    <input class=longok type="reset" value="Очистить поля">
    &nbsp;&nbsp;&nbsp;
    <input class=longok name="submit" type=submit value="Отправить">
    </td></tr></table>
    </form>
    <?
    }
    echo"</td></tr></table>";
    include("design/foot.inc.php");
    ?>
     
    zorgeus нравится это.
  5. Alexandr3

    Alexandr3

    Заблокирован
    Регистр.:
    22 апр 2008
    Сообщения:
    429
    Симпатии:
    96
    На скрипте jokerboard используется отправка писем с помощью php mail, для начала в админке пропишите правильные email адреса, создайте эти мыла на хостинге, проверьте или работает, на остальных сайтах на этом хостинге функция php mail. Скорей всего это проблема с хостером, уточните в техподдержке, если все ок, стучитесь в асю, постараюсь помочь.
     
    zorgeus нравится это.
  6. zorgeus

    zorgeus Постоялец

    Регистр.:
    6 сен 2011
    Сообщения:
    128
    Симпатии:
    18
    Спасибо за совет. В моем случае при отправке письма выходит сообщение, что письмо не отправлено, а с вашим кодом выходит сообщение что не все поля формы заполнены. В данный момент я хочу попробовать выкинуть почтовые ящики на хостинге и настроить по новой. Проверю отправку почты с другого своего сайта и потом уже буду думать, что делать дальше.

    Добавлено через 47 минут
    Я уже сто раз проверял работоспособность своих почтовых ящиков на хостинге, нет ни каких проблем ни с одним из сайтов. Тестировал пересылку почты скриптом и с сервера приходит ответ что почта отправляется и доходит до адресата. Дело наверняка в скрипте доски, но где эта ошибка я не могу найти, так как не силен в PHP. Я уже настроился снести этот скрипт к чертовой маме и поставить от QPL. Он надежнее и работает без проблем, но теперь не знаю как перенести базу данных. Может кто подскажет???
     
  7. Alexandr3

    Alexandr3

    Заблокирован
    Регистр.:
    22 апр 2008
    Сообщения:
    429
    Симпатии:
    96
    По jboard, надо смотреть отправку писем по логам если у вас vps. А для QPL надо писать конвектор бд.
     
  8. zorgeus

    zorgeus Постоялец

    Регистр.:
    6 сен 2011
    Сообщения:
    128
    Симпатии:
    18
    Я уже разобрался наконец-то. Оказалось, что на моем сервере права на одну папку были выставлены неправильно, только и всего, но с проблемой долго никто не мог справиться, пока за дело не взялись специалисты. Спасибо всем за помощь. Тему можно закрыть.