Нужно поправить скрипт аукицона...

Тема в разделе "Коммерческие", создана пользователем Chz, 27 янв 2008.

Информация :
Публиковать (для всех) нуленые версии, особенно от modulesgarden КАТЕГОРИЧЕСКИ не стоит. Тема мониторится оным разработчиком, а к нам приходят абузы которые нельзя игнорировать.
Статус темы:
Закрыта.
Модераторы: Amazko, Aste
  1. Chz

    Chz Прохожие

    Скрипт относительно старенький... php pro bid 5.24

    Проблема в следующем: скрипт не отправляет письма авторизации. Ошибка где-то в файле config/functions.php.

    Кто сталкивался с этой проблемой - подскажите пожалуйста что делать. Или выложите если не жалко рабочий файл functions.php

    Если вы не в курсе что это такое, то выложу часть функции (отправяет сгенерированные заранее письма способом mail() ) - в ней где-то ошибка.


    PHP:
    ## send through the PHP mail() function
            ## create header
            
    $boundary[1] = "b1_" $uniq_id;
            
    $boundary[2] = "b2_" $uniq_id;

            
    $header "";
            
    $header .= "Date: ".$sendDate."\n";
            
    $header .= "Return-Path: ".$sender."\n";
            
    $header .= "From: ".$sender." <".$sender.">\n";

            
    ## admin BCC
            
    if ($setts['bcc']=="Y"$header .= "Bcc: ".$setts['adminemail']."\n";

            
    $header .= "Reply-to: ".$sender."\n";
            
    $header .= sprintf("Message-ID: <%s@%s>%s"$uniq_id$_SERVER['SERVER_NAME'], "\n");
            
    $header .= "X-Priority: 3\n";
            
    $header .= "X-Mailer: PHPProBid [version " $currentVersion "]\n";
            
    $header .= "MIME-Version: 1.0\n";
            
    $header .= "Content-Transfer-Encoding: 7bit\n";
            
    $header .= sprintf("Content-Type: %s; charset=\"%s\"","text/html","windows-1251");

            
    $params sprintf("-oi -f%s"$sender);
            if (
    strlen(ini_get("safe_mode"))<1) {
                
    $old_from ini_get("sendmail_from");
                
    ini_set("sendmail_from"$sender);
                
    $result = @mail($header$params);
            } else {
                
    $result = @mail($to$subject$htmlmsg$header);
            }
            if (isset(
    $old_from)) ini_set("sendmail_from"$old_from);
            if (!
    $result) echo "Mail Sending Failed..";
    если кто может помочь - стучите в асю 465 421 286
     
  2. kasperinfo

    kasperinfo Читатель

    Заблокирован
    Регистр.:
    22 июл 2008
    Сообщения:
    68
    Симпатии:
    25
    тут проблема может быть не только в functions.php
    конфигурацию сервера надо ещё знать (phpinfo)...
    что-бы что-то конкретное говорить...
     
  3. myweb

    myweb Среда обитания WEB

    Регистр.:
    10 сен 2007
    Сообщения:
    539
    Симпатии:
    246
    попробуйте так
    PHP:
    function email ($your_email$subject$message)
    {
    global 
    $board_name;
    global 
    $noreply_email;
    global 
    $GLOBAL;


    /*
    $headers = "From: ".$noreply_email."\r\n" .
           'X-Mailer: PHP/' . phpversion() . "\r\n" .
           "MIME-Version: 1.0\r\n" .
           "Content-Type: text/html; charset=windowds-1251\r\n" .
           "Content-Transfer-Encoding: 8bit\r\n\r\n";

    // Send
    mail($your_email, $subject, $message, $headers);
    */

    $headers ="From: <{$noreply_email}>\r\n";
    $headers .="Reply-To: <{$noreply_email}>\r\n";
    $headers .="To: ".$your_email."\r\n";
    $headers .="Subject: ".$subject."\r\n";
    $headers .="MIME-Version: 1.0\r\n";
    $headers .="Content-Type: text/html;\r\n\r\n"

      
    // Open an SMTP connection
      
    $cp fsockopen ($GLOBAL["SMTP_SERVER"], $GLOBAL["SMTP_PORT"], &$errno, &$errstr1);
      if (!
    $cp)
       return 
    "Failed to even make a connection";
      
    $res=fgets($cp,256);
      if(
    substr($res,0,3) != "220") return "Failed to connect";
      
    // Say hello...
      
    fputs($cp"HELO ".$GLOBAL["SMTP_SERVER"]."\r\n");
      
    $res=fgets($cp,256);
      if(
    substr($res,0,3) != "250") return "Failed to Introduce";
     
    // Mail from...
      
    fputs($cp"MAIL FROM: <{$noreply_email}>\r\n");
      
    $res=fgets($cp,256);
      if(
    substr($res,0,3) != "250") return "MAIL FROM failed";
      
    // Rcpt to...
      
    fputs($cp"RCPT TO: <{$your_email}>\r\n");
      
    $res=fgets($cp,256);
      if(
    substr($res,0,3) != "250") return "RCPT TO failed";
      
    // Data...
      
    fputs($cp"DATA\r\n");
      
    $res=fgets($cp,256);
      if(
    substr($res,0,3) != "354") return "DATA failed";
      
    // Send To:, From:, Subject:, other headers, blank line, message, and finish
      // with a period on its own line (for end of message)
      
    fputs($cp$headers.$message."\r\n.\r\n");
      
    $res=fgets($cp,256);
      if(
    substr($res,0,3) != "250") return "Message Body Failed";
      
    // ...And time to quit...
      
    fputs($cp,"QUIT\r\n");
      
    $res=fgets($cp,256);
      if(
    substr($res,0,3) != "221") return "QUIT failed";
      return 
    true;
    }

    код работает у меня на 3-х разных хостингах.

    p.s переменну $GLOBAL можно выкинуть и написать свои даные.

    - ранше использовал ту што закоментированя но хостер сказал што лучше через smtp
     
Статус темы:
Закрыта.