Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Для профи > mail в формате html отображает картинки вложениями


Автор: krausen 1.11.2005, 21:27
Создаю рассылку из каталога по определенным позициям товаров вместе с изображениями
письмо в HTML формате представляет собой таблицу: картинка | описание

все нормально вставляется, только Outlook Express отображает что у приходящих писем есть вложения - э
ти же самые картинки (скрепочкой). Однако, когда приходит спам от различных источников в HTML формате, у них вложения скрепкой не сопровождаются. ЧТо может быть не так?

Код


// $content - html версия письма

$un= strtoupper(uniqid(time())); 
$subject  = "Письмо от";

$head= "From: [email protected]\n"; 
$head .= "Subject: $subject\n"; 
$head .= "X-Mailer: PHPMail Tool\n"; 
$head .= "Mime-Version: 1.0\n"; 
$head .= "Content-Type:multipart/mixed;"; 
$head .= "boundary=\"----------".$un."\"\n\n"; 
$zag = "------------".$un."\nContent-Type:text/html;charset=\"windows-1251\"\r\n"; 

// $im_arr архив изображений в HTML      

for ($oi=0;$oi<count($im_arr);$oi++)
{

$filename=$im_arr[$oi];
$fu[$oi]= fopen($filename,"rb");

// переименование для создания уникального cid
$newname=str_replace("/","_",$filename);
$newname=str_replace("-","_",$newname);
$newname=str_replace(".","_",$newname);

$content=str_replace($filename,"cid:" . $newname,$content);
$zag2 .= "------------".$un."\n"; 
$zag2 .= "Content-Type: image/jpeg;"; 
$zag2 .= "name=\"".basename($filename)."\"\n"; 
$zag2 .= "Content-Transfer-Encoding:base64\n"; 
$zag2 .= "Content-ID: <$newname>\n\n";
// $zag2 .= "Content-Disposition:attachment;"; 
$zag2 .= chunk_split(base64_encode(fread($fu[$oi],filesize($filename))))."\n"; 
}      

$zag .= "Content-Transfer-Encoding: 8bit\n\n$content\n\n"; 

 $zag=$zag . $zag2;
  
 mail($sent_email, $subject, $zag, $head);




Автор: MuToGeN 1.11.2005, 23:00
А спамеры, у которых получается "без скрепочки", точно в теле письма не указывают <img src="http://spammers-site.com/file.jpg" />? Пользую аутлук 6.0, ни разу не видел спама с приаттаченными картинками, где аутлук бы не признался про аттач.

Автор: krausen 1.11.2005, 23:24
скорее наоборот .. сейчас редко кто ставит http://
почти весь спам с картинками в теле

взял первое попавшееся письмо из аутлука
картинка приаттачена а скрепочка не отображается

Код


------=_NextPart_000_0022_CCE73D87.0FE3D4FA
Content-Type: image/jpeg;
    name="eco2.jpg"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
    filename="eco2.jpg"
Content-ID: <eco2.jpg>

/9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAFAAA/+4AIUFkb2JlAGTAAAAA
AQMAEAMCAwYAAANjAAAFVwAACIj/2wCEABIODg4QDhUQEBUeExETHiMaFRUaIyIYGBoYGCIn
HiIhISIeJyc....



Автор: K0r0l 31.8.2007, 22:44
Вот абсолютно та же проблема!
только на этот раз тандерберд ) мои картинки отображаются как вложения а у спамеров все ок 

в чем может быть проблема?
для сравнения кусок письма спамера и мой

Спамера
Код

------=_NextPart_000_0028_01P969M8.Z1N81LY6
Content-Type: image/gif;
    name="pommvkx.gif"
Content-Transfer-Encoding: base64
Content-ID: <00i7am978xb1$2kbgih48$s7t749v5@obqnjyluhjiq>




Мой
Код

--bc5cd2d5719c1e8b28c58ff7d4e102c8e
Content-Type: image/jpeg;
     name = "cover.jpg"
Content-Transfer-Encoding: base64
Content-ID: <cover.jpg$img@pglubina>



ну и как вызывается в блоке text/html

у спамера
Код

------=_NextPart_000_0028_01P969M8.Z1N81LY6
Content-Type: text/html;
    charset=koi8-r
Content-Transfer-Encoding: 8bit
...
 <img src="cid:00i7am978xb1$2kbgih48$s7t749v5@obqnjyluhjiq" width="118" height="105">
...


и у меня
Код

--bc5cd2d5719c1e8b28c58ff7d4e102c8e
Content-Type: text/html;
    charset=windows-1251
Content-Transfer-Encoding: 8bit

<html><body><table border=2><tr><td>проверка</td></tr><tr><td><img src="cid:cover.jpg$img@pglubina"></td></tr></table></body></html>




самое интересное что и аутлук и веб-интерфейсы нормально показывают картинку внутри текста. а вот тандерберд совсем не хочет... кто-нить может помочь?

Автор: K0r0l 1.9.2007, 15:16
Решил проблему.

Оказывается надо в заголовке письма вместо
multipart/mixed

написать multipart/related

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)