[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Проблема с Mail.ru
te0203
Последних несколько дней почта которую сайт отправляет на mail.ru в формате html приходит пользователю как обычный текст, раньше всё работало.
Вот заголовки которые отправляются с письмом:
function Send($adress_to, $subject, $text, $filename=''){//кому, тема, текст, имя файла
if($filename){
$f = fopen($filename,"rb");
$un = strtoupper(uniqid(time()));
}

$header="Date: ".date("D, j M Y G:i:s")." +0700\r\n";
$header.="From: <".$this->_from.">\r\n";
$header.="X-Mailer: The Bat! (v3.99.3) Professional\r\n";
$header.="Reply-To: <".$this->_from.">\r\n";
$header.="Message-ID: <172562218.".date("YmjHis")."@resanta.net.ua>\r\n";
$header.="To: <$adress_to>\r\n";
$header.="Subject: =?koi8-r?B?".base64_encode(iconv("UTF-8", "koi8-r", $subject))."?= \r\n";
$header.="MIME-Version: 1.0\r\n";

if($filename != ''){
$header.= "Content-Type:multipart/mixed;";
$header.= "boundary=\"----------".$un."\"\n\n";
$zag = "------------".$un."\nContent-Type:text/html;\n";
$zag.= "Content-type: text/html; charset=utf-8;\r\n";
$zag.= "Content-Transfer-Encoding: 8bit\n\n$text\n\n";
$zag.= "------------".$un."\n";
$zag.= "Content-Type: application/octet-stream;";
$zag.= "name=\"".basename($filename)."\"\n";
$zag.= "Content-Transfer-Encoding:base64\n";
$zag.= "Content-Disposition:attachment;";
$zag.= "filename=\"".basename($filename)."\"\n\n";
$zag.= chunk_split(base64_encode(fread($f,filesize($filename))))."\n";
$text = $zag;
}else{
$header.="Content-type: text/html; charset=utf-8\r\n";
$header.="Content-Transfer-Encoding: 8bit\r\n";
}
//Дальше отправка письма
}

Подскажите, пожалйуста, что не так?



Спустя 6 минут, 12 секунд (13.08.2011 - 16:15) Arni написал(а):
Я тут выкладывал уже класс.

http://phpforum.ru/index.php?showtopic=460...=0#entry1180126

Должно быть все нормально. Проверялось неоднократно. Если вдруг что отпишите, заодно сверюсь.

Спустя 28 минут, 4 секунды (13.08.2011 - 16:43) te0203 написал(а):
if($mail->sendMess()){
echo 'Yahooo!!!';
}

Это условие всё время возращае false, хотя письма и уходят.

Спустя 13 минут, 7 секунд (13.08.2011 - 16:56) Arni написал(а):
Так это засада такая короче. Там в сам класс посмотрите, оно вообще ничего не возвращает. Если хотите доделайте себе return true; Сама проблема решилась то?

Спустя 1 минута, 36 секунд (13.08.2011 - 16:58) Invis1ble написал(а):
Цитата
Если хотите доделайте себе return true

по-хорошему, там надо дописать
return mail($this->to, $this->subject, $mess, $headers);

Спустя 1 минута, 13 секунд (13.08.2011 - 16:59) te0203 написал(а):
Проблема решилась , а true или false нужно брать из
$mail->validateMail($email);
тогда работает.

Спустя 2 минуты, 26 секунд (13.08.2011 - 17:02) Arni написал(а):
Цитата (te0203 @ 13.08.2011 - 13:59)
Проблема решилась , а true или false нужно брать из
$mail->validateMail($email);
тогда работает.

Ну все, + нам в репу и вам удачи.

Спустя 5 секунд (13.08.2011 - 17:02) Invis1ble написал(а):
te0203
validateMail($mail) вобще-то должен возвращать результат проверки адреса на корректность, а не результат отсылки письма

Спустя 1 минута, 50 секунд (13.08.2011 - 17:04) Winston написал(а):
if($mail->validateMail($email))
return true;
else
return
false

Спустя 2 минуты, 44 секунды (13.08.2011 - 17:06) te0203 написал(а):
Если адрес не валиден значит и письмо не отправлено.
Значит в sendMess() надо return делать
 // Mail it
$ t = mail($this->to, $this->subject, $mess, $headers);
return $t;
}

Спустя 1 минута, 4 секунды (13.08.2011 - 17:07) Invis1ble написал(а):
te0203
ну так а я о чем написал?
Цитата
по-хорошему, там надо дописать
return mail($this->to, $this->subject, $mess, $headers);


Спустя 2 минуты, 3 секунды (13.08.2011 - 17:09) te0203 написал(а):
Извини, сразу не дошло.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.