CuteNews на mchost - ограничения в скрипте...

MASe
На сайте с 17.09.2002
Offline
219
792

Приветствую...

использую старый добрый CuteNews

помимо прочих "наворотов" есть там функция отправки писем.... (уведолмения админа о новой новости, уведомление комментаторов по подписке и т.д.)

на локалке пашет все на ура!!! в логах сендмейла все письма отправляются

на хостинге - не приходят письма и все тут...

начал переписываться с саппортом: выяснил, что в "функции mail для данного тарифа запрещено использование переводов и двойных переводов строк в заголовках"... либо говорят, убирайте двойные переводы, либо переходите на другой тариф...

что имеем:

в скрипте вызов функции:

cute_mail($config['admin_mail'], $tpl['subject'], $tpl['body'], $tpl['attachment']);

сама функция:

function cute_mail($to, $subject, $message, $filename = ''){

global $config;

$mail = 'no-reply@'.str_replace('www.', '', $_SERVER['SERVER_NAME']);
$uniqid = md5(uniqid(time));
$headers = 'From: '.$mail."\n";
$headers .= 'Reply-to: '.$mail."\n";
$headers .= 'Return-Path: '.$mail."\n";
$headers .= 'Message-ID: <'.$uniqid.'@'.$_SERVER['SERVER_NAME'].">\n";
$headers .= 'MIME-Version: 1.0'."\n";
$headers .= 'Date: '.gmdate('D, d M Y H:i:s', time)."\n";
$headers .= 'X-Priority: 3'."\n";
$headers .= 'X-MSMail-Priority: Normal'."\n";
$headers .= 'X-Mailer: '.$config['version_name'].' '.$config['version_id']."\n";
$headers .= 'X-MimeOLE: '.$config['version_name'].' '.$config['version_id']."\n";
$headers .= 'Content-Type: multipart/mixed;boundary="----------'.$uniqid.'"'."\n\n";
$headers .= '------------'.$uniqid."\n";
$headers .= 'Content-type: text/plain;charset=windows-1251'."\n";
$headers .= 'Content-transfer-encoding: 7bit';

if (is_file($filename)){
$file = fopen($filename, 'rb');
$message .= "\n".'------------'.$uniqid."\n";
$message .= 'Content-Type: application/octet-stream;name="'.basename($filename).'"'."\n";
$message .= 'Content-Transfer-Encoding: base64'."\n";
$message .= 'Content-Disposition: attachment;';
$message .= 'filename="'.basename($filename).'"'."\n\n";
$message .= chunk_split(base64_encode(fread($file, filesize($filename))))."\n";
}
*/
mail($to, $subject, $message, $headers);
}

собственно что сделал - убрал снгачала двойные "\n"... не пашет... потом все "\n" - такая же фигня... потом вообще закомментировал все - думаю - нафига мне эти заголовки - итак передам - тоже не пашет...

вот не пойму где туплю :-(

может кто-нить сталкивался на данном скрипте на аналогичном хростинге с этой проблемой???

или может рожей меня кто ткнет в то место, где я туплю???!!!

заранее спасибо!!!

Only God Can Judge Me... Nobody Else... Дрезна (http://www.drezna.ru/) Помощники: Sape (http://www.sape.ru/r.167724536c.php)
Mihajlo
На сайте с 30.10.2006
Offline
156
#1

скорее всего е-мейл, который в переменной $mail должен реально быть созданным на сервере. попробуйте

MASe
На сайте с 17.09.2002
Offline
219
#2
Mihajlo:
скорее всего е-мейл, который в переменной $mail должен реально быть созданным на сервере. попробуйте

no-reply@ Вы имеете ввиду... ???

сейчас попробую...

попробовал..... такая же фигня :-(

[Удален]
#3

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

function cute_mail($to, $subject, $message, $filename = ''){

mail($to, $subject, $message);
}
MASe
На сайте с 17.09.2002
Offline
219
#4
nikitian:
Видимо под отсутствием переводов строк имеют ввиду, что нельзя передавать лишние заголовки, кроме стандартных. Используйте
function cute_mail($to, $subject, $message, $filename = ''){

mail($to, $subject, $message);
}

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

function cute_mail($to, $subject, $message, $filename = ''){

mail($to, $subject, $message, $filename);
}

также пытался /n убирать...

а теперь все работает!!! спасибо !!!!! спасибо Вам за помощь! все оказалось просто ;-) как всегда

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий