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

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

iznutri

Писатель
Регистрация
20 Июл 2007
Сообщения
6
Реакции
0
Скачал и установил доску объявлений XZero Classifieds v4.95.11 _http://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-Type: text/html; charset=windows-1251

я пробовал изменять скрипт доски но мозгов видать не хватает.

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

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

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

также попробуй прописать :
PHP:
$headers.="From: $from\n";
$headers.="Reply-To: $from\n";

попробуй изменить, может поможет.
если что будем думать=)
 
Есть еще один момент некоторые хостеры, например мой, запрещают доступ скриптам наружу, в том числе отправку почты.
Лично я эту проблему обошел с помощью отдельного скритпа, который на хостинге формирует список, что нужно отправить, а отправляет почту, уже мой домашний сервер.
 
что говорит error.log?
что говорит phpinfo() о smtp сервере?
 
Есть еще один момент некоторые хостеры, например мой, запрещают доступ скриптам наружу, в том числе отправку почты.
Лично я эту проблему обошел с помощью отдельного скритпа, который на хостинге формирует список, что нужно отправить, а отправляет почту, уже мой домашний сервер.


нет с этим все в порядке, другой скрипт абсолютно исправно слал письма :confused:
 
Код:
$headers .= "Content-Transfer-Encoding: 7bit\n";
на первый взгляд:
у тебя в скрипте прописано 7bit
а хостер рекомендует 8bit
также попробуй прописать :
PHP:
$headers.="From: $from\n";
$headers.="Reply-To: $from\n";
попробуй изменить, может поможет.
если что будем думать=)
попробовал как вы советовали я понял это вот так:
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:
 
Попробуй так

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;
 
Попробуй так
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;

ЗАРАБОТАЛО = ))))))
но не до конца = (
получилось следующее при регистрации объявления скрипт
отправляет на ящик письмо со ссылкой активации эт хорошо
а при попытке связаться с человеком опубликовавшем объявление снова пишет что письмо не отправлено = (
вставил я следующее:
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

Ну еще немножко и ЗаРаБоТаЕт = ))))
 
Помогите доразобраться пожалуйста :thenks: :thenks: :thenks:
такая фигна происходит не тоько в этой доске но и еще в одной.
Обе доски отправляют сообщения текст которых уже есть
и на отрез отказываются отправлять письма со страници с формой где в ручную вводится текст и обратный адрес.
Может кто сталкивался с таким, подскажите пожалуйста.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху