Автор Тема: Вложение картинки в письмо.  (Прочитано 7153 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн golden-den

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 118
  • +0/-0
  • 0
    • Просмотр профиля
    • http://kosmos13.narod.ru
Вложение картинки в письмо.
« : 06 Января 2006, 21:35:03 »
есть функция (скачал с php.net вроде )

function XMail$from$to$subj$text$filename) {
    
$f         fopen($filename,"rb");
    
$un        strtoupper(uniqid(time()));
    
$head      "From: $from\\n";
    
$head     .= "To: $to\\n";
    
$head     .= "Subject: $subj\\n";
    
$head     .= "X-Mailer: PHPMail Tool\\n";
    
$head     .= "Reply-To: $from\\n";
    
$head     .= "Mime-Version: 1.0\\n";
    
$head     .= "Content-Type:multipart/mixed;";
    
$head     .= "boundary=\\"----------".$un."\\"\\n\\n";
    
$zag       "------------".$un."\\nContent-Type:text/html;\\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";

    if (
mail($to$subj$zag$head)) {return true;}
	
	
else {return 
false;};
};

Она присоединяет файл к письму, как вложение.
Только письмо приходит с вложением, не отображающемся в тексте письма

письмо например такое
----------------------
Представляем вам нновый образец станка...
"станок"

-----------------------

при этом в письме отображается текст, а вместо картинки - рамка.
Картинка же есть в самом письме, но как вложение. ее можно посмотреть, кликнув на вложение

Как сделать, чтобы картинка отображалась непосредственно в html коде письма?

В почте смотрел как спам устроем - там пишут ""
Что за cid?


PS сам спамом не занимаюсь ;-)

Оффлайн golden-den

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 118
  • +0/-0
  • 0
    • Просмотр профиля
    • http://kosmos13.narod.ru
Вложение картинки в письмо.
« Ответ #1 : 07 Января 2006, 11:27:47 »
C cid разобрался, только теперь приходит письмо, картинку можно посмотреть, кликнув на нее,а в самом письме
она не показывается, хотя при выделении всего текста письма видно, что под картинку отведен большой белый квадрат (совпадает с размерами картинки).
Т.е. Bat вроде пытается ее отобразить, выделят место под нее, только не получается
Content-Type: multipart/mixed; заменял на Content-Type: related; и
на Content-Type: alternative;


function XMail$from$to$subj$text$filename) {
    
$f         fopen($filename,"rb");
    
$un        strtoupper(uniqid(time()));
	
$head 
	
   = 
"From: $from\\n";
	
$head     .= "Subject: $subj\\n";
	
$head     .= "Reply-To: $from\\n";
	
$head     .= "MIME-Version: 1.0\\n";
	
$head     .= "Content-Type: multipart/mixed;";
	
$head     .= "boundary=\\"next-part--".$un."\\"\\n\\n";
	
$zag       "--next-part--".$un."\\n";
	
$zag      .= "Content-Type: text/html;\\n";
	
$zag      .= "Content-Transfer-Encoding: 7bit\\n\\n";
	
$zag      .= "$text\\n\\n";
	
$zag      .= "--next-part--".$un."\\n";
	
$zag      .= "Content-Type: image/gif; \\n";
	
$zag      .= "Content-Transfer-Encoding: base64\\n";
	
$zag      .= "Content-ID: image_0\\n";
	
$zag      .= "Content-Disposition: inline;";
	
$zag      .= "filename=\\"".basename($filename)."\\"\\n\\n"
	
$zag      .= chunk_split(base64_encode(fread($f,filesize($filename))))."\\n";
	
$zag      .= "--next-part--".$un."--\\n\\n";
	

    if (
mail($to$subj$zag$head)) {return true;}
	
	
else {return 
false;};
};

Оффлайн golden-den

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 118
  • +0/-0
  • 0
    • Просмотр профиля
    • http://kosmos13.narod.ru
Вложение картинки в письмо.
« Ответ #2 : 08 Января 2006, 12:40:47 »
Вроде делал по стандарту, пробовал разные комбинации,
затем все надоело и решил попробовать PHPMailer http://phpmailer.sourceforge.net/tutorial.html
Там же все работает ....

Проблема осталась: Вложения приходят, только BAT не хочет отображать картинку, а место под нее оставляет .
При этом в спаме картинки как-то отображаются

Кто-нибудь пробовал PHPMailer ?
А может в бате дело или в моих руках все-таки?

Вот код с использованием класса PHPMailer

$mailer 
= new FreakMailer();
$mailer->Subject = \'Это тест\';
$htmlBody = \'
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
	
<title>Untitled</title>
</head>
<body>
<img src="cid:image_lnk_blank" border=1 alt="МОя картинка">
Тут должна быть картинка

</body>
</html>
\';

$mailer->Body = $htmlBody;
$mailer->isHTML(true);
$mailer->AddAttachment($_SERVER[\'DOCUMENT_ROOT\'].\'/images/image_blank.gif\', \'image_blank.gif\');
$mailer->AddAttachment($_SERVER[\'DOCUMENT_ROOT\'].\'/images/img_link_blank.gif\', \'image_link_blank.gif\');
$mailer->AddEmbeddedImage($_SERVER[\'DOCUMENT_ROOT\'].\'/images/image_blank.gif\', \'image_lnk_blank\', \'image_blank.gif\', \'base64\',\'image/gif\');

$mailer->AddAddress(\'ddd@ddd.ru\', \'vvvvv\');

if(!$mailer->Send()) { echo \'Не могу отослать письмо!\';}
	
else{  echo \'Письмо отослано!\';}
$mailer->ClearAddresses();
$mailer->ClearAttachments();


И еще странно то, что на @mail.ru просто не приходят письма - нет их, а на другой сервер приходят, правда там стоит антиспамовая система, которая добавляет заголовки к письму "Типа это спам"

Оффлайн golden-den

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 118
  • +0/-0
  • 0
    • Просмотр профиля
    • http://kosmos13.narod.ru
Вложение картинки в письмо.
« Ответ #3 : 08 Января 2006, 13:43:17 »
настроил  себе MS Outlook, который в XP.
В нем все работает - приходят и отображаются вложения...
В чем  же дело?
Как подстроить под все почтовые прграммы?


Может все-таки кто-нибудь подскажет?
Что-то тишина на мой вопрос

Оффлайн Slastik

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 101
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.sproekt.kiev.ua
FAQ OFF =)

Оффлайн golden-den

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 118
  • +0/-0
  • 0
    • Просмотр профиля
    • http://kosmos13.narod.ru
Вложение картинки в письмо.
« Ответ #5 : 10 Января 2006, 15:00:46 »
Slastik
читал и не раз - эта статья у меня сохранена на диске.
Дело в том, что я уже скачал готовый класс, который проверен давно.
Всё равно при просмотре присем в Bat не показывается картинка.
(см. пред мое сообщение)

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28