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

Статус
В этой теме нельзя размещать новые ответы.
C

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
тут проблема может быть не только в functions.php
конфигурацию сервера надо ещё знать (phpinfo)...
что-бы что-то конкретное говорить...
 
попробуйте так
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, &$errstr, 1);
  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
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху