[php] Скрипт анонимной отправки Mail

Discussion in 'PHP' started by -Lord-, 30 Jan 2011.

  1. -Lord-

    -Lord- New Member

    Joined:
    14 May 2010
    Messages:
    38
    Likes Received:
    0
    Reputations:
    0
    Есть очень хороший скрипт для отправки анонимного сообщения, но он не доделан немного (точнее сделан не как мне надо)... Вот архив с ним - http://rghost.net/4142815 пароль - 911 (там просто много файлов). Проблема в следующем - когда отправляю письмо с него в конце сообщения приписывается -
    Code:
     Mail (30.01.2011, 21:22, Win-1251 coded)
    
    Адрес для ответа: [email protected]
    Mail - Имя отправителя, дальше дата, время и кодировка и внизу адрес для ответа. Как это убрать или заменить на своё? В каком то файле нашел этот текст, но там не просто он, а ещё какие то коды... Пытался убрать, но это приводит к ошибки... Подскажите, где это отредактировать и главное, как правильно? И ещё одна проблема - когда открываю письмо на яндексе в заголовки -
    Code:
    Кому	[email protected] 
    Т.е. после мыла приписывается ещё логин без @yandex.ru уже, как видно в примере, это тоже нужно исправить...
     
  2. -Lord-

    -Lord- New Member

    Joined:
    14 May 2010
    Messages:
    38
    Likes Received:
    0
    Reputations:
    0
    Ап, никто не поможет что-ли?
     
  3. Hack_ERR++

    Hack_ERR++ Member

    Joined:
    13 Aug 2009
    Messages:
    41
    Likes Received:
    9
    Reputations:
    0
    Code:
    $data = $message0."\r\nАдрес для ответа: ".$email;
    
    попробуй заменить на

    Code:
    $data = $message0;
    
     
  4. -Lord-

    -Lord- New Member

    Joined:
    14 May 2010
    Messages:
    38
    Likes Received:
    0
    Reputations:
    0
    Помогло, да не совсем... Там в скрипте есть функция "как простой текст" (т.е. без хтмл) если её включить, то все ок, а если отправлять с HTML то тоже самое. Прошу помочь...

    PHP:
       $data '<html><head><title>'.$topic.'</title></head><body><p>'.$message_dec."</p><p>$author ($dt, Win-1251 coded)</p><p>Адрес для ответа: <a href=\"mailto:$email\">".$email.'</a></p></body></html>';
       
    $content_type "Content-type: text/html; charset=windows-1251\r\n";
    Вот есть такая строчка, что в ней надо изменить?
     
  5. Hack_ERR++

    Hack_ERR++ Member

    Joined:
    13 Aug 2009
    Messages:
    41
    Likes Received:
    9
    Reputations:
    0
    ну так
    Code:
    <p>Адрес для ответа: <a href=\"mailto:$email\">".$email.'</a></p>
    
    убери
     
  6. Kusto

    Kusto Elder - Старейшина

    Joined:
    4 Feb 2007
    Messages:
    886
    Likes Received:
    678
    Reputations:
    510
    блин, да выложил бы полностью скипт сюда, качать его специально никто не будет
     
  7. qaz

    qaz Elder - Старейшина

    Joined:
    12 Jul 2010
    Messages:
    1,551
    Likes Received:
    173
    Reputations:
    75
    http://art-bahmut.ucoz.ua/forum/85-882-1
     
  8. iprophet

    iprophet New Member

    Joined:
    22 Apr 2010
    Messages:
    11
    Likes Received:
    1
    Reputations:
    0
    Вот, испрвил: http://rghost.ru/4182620 и я еще убрал в начале, поле, для заполнения мыла отправителя. Могу еще убрать капчу, если напрягает.
     
  9. buxmanager

    buxmanager Elder - Старейшина

    Joined:
    1 Apr 2009
    Messages:
    613
    Likes Received:
    229
    Reputations:
    69
    iprophet, a можeшь для мeня подпрaвить?вeрнуть полe отпрaвитeля и удaлить кaптчу? И зaлeй кудa-нить,буду прeмного блaгодaрeн:)
     
  10. iprophet

    iprophet New Member

    Joined:
    22 Apr 2010
    Messages:
    11
    Likes Received:
    1
    Reputations:
    0
    А в общем все сделать как было изначально, только убрать каптчу?
     
  11. iprophet

    iprophet New Member

    Joined:
    22 Apr 2010
    Messages:
    11
    Likes Received:
    1
    Reputations:
    0
    Вот сделал. http://rghost.ru/4183541
     
    1 person likes this.
  12. -Lord-

    -Lord- New Member

    Joined:
    14 May 2010
    Messages:
    38
    Likes Received:
    0
    Reputations:
    0
    Хех, ты убрал мыло получателя, смысл тогда в скрипте?))) Сделай в общем все как стандарт только убрать сообщения в конце как и просил и капчу=)

    Вот скрипт

    PHP:
    <?
     
    session_start ();
     require_once (
    "functions.php");
     
    $params = array('topic','author','email','emailto','message','code','valid','astext');
     require_once (
    "params.php");
     include 
    "head.php";

     
    $error ='';
     if (empty(
    $code) or empty($valid) or md5($code)!=$valid) {
      
    $error.='<br>Не указан верный код сообщения';
     }
     if (empty(
    $author) or empty($email) or empty($emailto)) {
      
    $error.='<br>Не заполнены обязательные поля сообщения';
     }
     
    $message_dec htmlspecialchars_decode($message);
     
    $message0 '';
     if (!empty(
    $message_dec)) {
      
    $message0 strip_tags ($message_dec);
      
    $len strlen($message0);
      if (
    $len MAX_MESSAGE_GB) {
       
    $error.='<br>Превышена максимальная длина сообщения ('.$len.'). Значение из файла настроек: '.MAX_MESSAGE_GB;
      }
      else {
       
    $words=split("[ \n]",$message0);
       for (
    $i=0$i<count($words); $i++) {
        if (
    strlen($words[$i]) > MAX_WORD_GB) {
         
    $error.='<br>Превышена максимальная длина слова ('.$words[$i].'). Значение из файла настроек: '.MAX_WORD_GB;
         break;
        }
       }
      }
     }
     
    $n get_next_time (0);
     if (
    $n!=0) {
      
    $error.='<br>Не исчерпано время между отправкой сообщений скриптом. Попробуйте повторить через '.$n.' сек.';
     }
     if (!empty(
    $error)) {
      print 
    "<p>Извините, Ваше письмо не может быть отправлено. Причины:$error</p>";
     }
     else {
      
    $dt=date("d.m.Y, H:i",time());
      if (
    $astext) {
       
    $data $message0."\r\nАдрес для ответа: ".$email;
       
    $content_type "Content-type: text/plain; charset=windows-1251\r\n";
      }
      else {
       
    $data '<html><head><title>'.$topic.'</title></head><body><p>'.$message_dec."</p><p>$author ($dt, Win-1251 coded)</p><p>Адрес для ответа: <a href=\"mailto:$email\">".$email.'</a></p></body></html>';
       
    $content_type "Content-type: text/html; charset=windows-1251\r\n";
      }                                                   
      if (empty(
    $topic)) $topic='Без темы';
      
    $result mail ("$emailto","$topic","$data",
      
    "From: $author <$email>\r\n"
      
    ."To: $emailto\r\n"
      
    ."Subject: $topic\r\n"
      
    ."Reply-To: $email\r\n"
      
    .$content_type
      
    ."X-Mailer: PHP/" .phpversion()."\r\n\r\n");
      if (
    $result) {
       
    get_next_time (1);
       print 
    "<p>Спасибо, Ваше сообщение успешно отправлено на указанный адрес.</p>";
      }
      else {
       print 
    "<p>Не удалось отправить сообщение. Проверьте настройки почтового сервера</p>";
      }
     }

     include 
    "index2.php";
     include 
    "foot.php";
    ?>
    Просто не знаю, единственный ли это скрипт в котором править надо.
     
  13. buxmanager

    buxmanager Elder - Старейшина

    Joined:
    1 Apr 2009
    Messages:
    613
    Likes Received:
    229
    Reputations:
    69
    там надо править в post.php

    Пробовал слать, банится быстро текст, даже без ссылок... буквально несколько писем...
     
  14. .::BARS::.

    .::BARS::. Elder - Старейшина

    Joined:
    13 Oct 2007
    Messages:
    379
    Likes Received:
    45
    Reputations:
    10
    узнать отправителя можно по заголовку письма: откуда, кто, скрипт
    да и много почтовиков сейчас запрашивают обратную зону
     
  15. buxmanager

    buxmanager Elder - Старейшина

    Joined:
    1 Apr 2009
    Messages:
    613
    Likes Received:
    229
    Reputations:
    69
    иначе в папку спам сразу попадает)))
     
  16. iprophet

    iprophet New Member

    Joined:
    22 Apr 2010
    Messages:
    11
    Likes Received:
    1
    Reputations:
    0
    Прошу прощения за длинну сообщения, (спойлера не нашет)


    post.php - тут все заменить тем что ниже
    PHP:
    <?
     
    session_start ();
     require_once (
    "functions.php");
     
    $params = array('topic','author','email','emailto','message','code','valid','astext');
     require_once (
    "params.php");
     include 
    "head.php";

     
    $error ='';
     if (empty(
    $author) or empty($email) or empty($emailto)) {
      
    $error.='<br>Не заполнены обязательные поля сообщения';
     }
     
    $message_dec htmlspecialchars_decode($message);
     
    $message0 '';
     if (!empty(
    $message_dec)) {
      
    $message0 strip_tags ($message_dec);
      
    $len strlen($message0);
      if (
    $len MAX_MESSAGE_GB) {
       
    $error.='<br>Превышена максимальная длина сообщения ('.$len.'). Значение из файла настроек: '.MAX_MESSAGE_GB;
      }
      else {
       
    $words=split("[ \n]",$message0);
       for (
    $i=0$i<count($words); $i++) {
        if (
    strlen($words[$i]) > MAX_WORD_GB) {
         
    $error.='<br>Превышена максимальная длина слова ('.$words[$i].'). Значение из файла настроек: '.MAX_WORD_GB;
         break;
        }
       }
      }
     }
     
    $n get_next_time (0);
     if (
    $n!=0) {
      
    $error.='<br>Не исчерпано время между отправкой сообщений скриптом. Попробуйте повторить через '.$n.' сек.';
     }
     if (!empty(
    $error)) {
      print 
    "<p>Извините, Ваше письмо не может быть отправлено. Причины:$error</p>";
     }
     else {
      if (
    $astext) {
       
    $data $message0."\r\nАдрес для ответа: ".$email;
       
    $content_type "Content-type: text/plain; charset=windows-1251\r\n";
      }
      else {
       
    $data '<html><head><title>'.$topic.'</title></head><body><p>'.$message_dec."</p></body></html>';
       
    $content_type = "Content-typetext/htmlcharset=windows-1251\r\n";
      }                                                   
      if (empty(
    $topic)) $topic='Без темы';
      
    $result = mail ("$emailto","$topic","$data",
      "
    From$author <$email>\r\n"
      ."
    To$emailto\r\n"
      ."
    Subject$topic\r\n"
      ."
    Reply-To$email\r\n"
      .
    $content_type
      ."
    X-MailerPHP/" .phpversion()."\r\n\r\n");
      if (
    $result) {
       get_next_time (1);
       print "
    <p>СпасибоВаше сообщение успешно отправлено на указанный адрес.</p>";
      }
      else {
       print "
    <p>Не удалось отправить сообщениеПроверьте настройки почтового сервера</p>";
      }
     }

     include "
    index2.php";
     include "
    foot.php";
    ?>


    index2.php - тут все заменить тем что ниже
    PHP:
    <?
     require_once (
    "functions.php");
     require_once (
    "checker.php"); //клиентские проверки
     
    $params = array('topic''author','email','emailto','message','astext');
     require_once (
    "params.php");
    ?>
    <script type="text/javascript" src="tiny_mce/tiny_mce.js"></script>
    <script type="text/javascript">
            tinyMCE.init({
                    // General options
                    mode : "textareas",
                    theme : "advanced",
                    language: "ru",
                    plugins : "safari,pagebreak,style,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template",

                    // Theme options                   //save,
                    theme_advanced_buttons1 : "newdocument,fullscreen,|,preview,print,iespell,|,cut,copy,paste,pastetext,pasteword,|,undo,redo,|,link,unlink,anchor,|,emotions,image,media,|,charmap,hr,advhr,|,insertdate,inserttime,|,removeformat,cleanup,code,|",
                    theme_advanced_buttons2 : "styleprops,styleselect,formatselect,fontselect,fontsizeselect,|,bold,italic,underline,sub,sup,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,search,replace,|,bullist,numlist,outdent,indent,|,backcolor,forecolor",
                    theme_advanced_buttons3 : "tablecontrols,|,visualaid,|,blockquote,cite,abbr,acronym,del,ins,attribs,|,visualchars,nonbreaking,|,template,|,pagebreak",
                    theme_advanced_toolbar_location : "top",
                    theme_advanced_toolbar_align : "left",
                    theme_advanced_statusbar_location : "bottom",
                    theme_advanced_resizing : true,

                    // Example content CSS (should be your site CSS)
                    content_css : "style.css",

                    // Drop lists for link/image/media/template dialogs
    /*                template_external_list_url : "examples/lists/template_list.js",
                    external_link_list_url : "examples/lists/link_list.js",
                    external_image_list_url : "examples/lists/image_list.js",
                    media_external_list_url : "examples/lists/media_list.js",
    */
                    // Replace values for the template plugin
                    template_replace_values : {
                            username : "Some User",
                            staffid : "991234"
                    }
            });
    </script>
    <!-- /TinyMCE -->

    <form name="f1" method="post" action="post.php">
     <table border="0" cellpadding="0" cellspacing="0" width="80%" class="n">
      <tr><td><p>Тема письма:</p></td><td><p><input type="text" name="topic" size="80" maxlength="80" value="<? print htmlspecialchars(magic($topic)); ?>"></p></td></tr>
      <tr><td><p><font color="red">Имя отправителя</font>:</p></td><td><p><input type="text" name="author" size="80" maxlength="80" value="<? print htmlspecialchars(magic($author)); ?>"></p></td></tr>
      <tr><td><p><font color="red">E-mail отправителя</font>:</p></td><td><p><input type="text" name="email" size="80" maxlength="80" value="<? print htmlspecialchars(magic($email)); ?>"></p></td></tr>
      <tr><td><p><font color="red">E-mail получателя</font>:</p></td><td><p><input type="text" name="emailto" size="80" maxlength="80" value="<? print htmlspecialchars(magic($emailto)); ?>"></p></td></tr>
     </table>
     <textarea id="elm1" name="message" rows="15" cols="80" style="width: 80%"><? print "$message"; ?></textarea>
     <p><input type="submit" name="save" value="Отправить" onclick="return checkmail();">
     <input type="reset" name="reset" value="Сброс"> 
     <input type="checkbox" name="astext" value="1" <? print ($astext>0?" checked":""); ?>>Как простой текст
     </p>
    </form>
     
  17. buxmanager

    buxmanager Elder - Старейшина

    Joined:
    1 Apr 2009
    Messages:
    613
    Likes Received:
    229
    Reputations:
    69
    чето перестал работать теперь))
     
  18. Kusto

    Kusto Elder - Старейшина

    Joined:
    4 Feb 2007
    Messages:
    886
    Likes Received:
    678
    Reputations:
    510
    меняй хостинг- заработает
    P.S. И не убивайте свои хостинги при несоблюдении некоторых правил почтовики довольно шустро добавляют хост в блек на своем серваке и не только письма в спам падать будут а не будут приходить ВООБЩЕ
    на майле помоему что то около 15-20 писем достаточно одинакового содержания чтоб с этого хоста больше не приходили нинаодин ящик
    P.S. Теперь на твоем хосте никакой скрипт не будет слать на тот сервак который заспамил
     
  19. iprophet

    iprophet New Member

    Joined:
    22 Apr 2010
    Messages:
    11
    Likes Received:
    1
    Reputations:
    0
    Не пугай его так, он имеет наверно ввиду что после моей правки скрипта, теперь не отправляеться сообщение. Щас вырежу от тудого все каптчи, все задержки, что-б уже пару раз не просили...
     
    #19 iprophet, 3 Feb 2011
    Last edited: 3 Feb 2011
  20. iprophet

    iprophet New Member

    Joined:
    22 Apr 2010
    Messages:
    11
    Likes Received:
    1
    Reputations:
    0
    Вот http://rghost.ru/4184493