[ Dzhana @ 03.03.2004. 12:32 ] @
Kako da u HTML message koji generisem u PHP kodu i saljem preko mail funkcije ubacim sliku? Pretpostavljam sa prvo treba da je encodujem u base64 i da dodam jos nesto u headers, ili mozda nesto drugo...
[ jarilo @ 20.03.2004. 11:01 ] @
Za generisanje i slanje email poruka toplo preporucujem PEAR paket Mail. Konkretno za slanje HTML poruka to je Mail_Mime klasa. Vise detalja o ovoj klasi se moze naci na: http://pear.php.net/manual/en/package.mail.mail-mime.php

Primer koda za generisanje i slanje kompleksnog emaila:
Code:


<?php
include('Mail.php');
include('Mail/mime.php');

$text = 'Text version of email';
$html = '<html><body>HTML version of email</body></html>';
$file = '/home/richard/example.php';
$crlf = "\r\n";
$hdrs = array(
              'From'    => '[email protected]',
              'Subject' => 'Test mime message'
              );

$mime = new Mail_mime($crlf);

$mime->setTXTBody($text);
$mime->setHTMLBody($html);
$mime->addAttachment($file, 'text/plain');

$body = $mime->get();
$hdrs = $mime->headers($hdrs);

$mail =& Mail::factory('mail');
$mail->send('postmaster@localhost', $hdrs, $body);
?>


Ovde se salje HTML mail sa prilogom. Ukoliko zelimo da u HTML mail ukljucimo sliku onda bi trebalo da se unese par izmena:
Code:

$html = '<html><body>HTML version of email <img src="slika.gif"></body></html>';
$mime->addAttachment('slika.gif');


Ovde smo posli od pretpostavke da php skript i 'slika.gif' se nalaze u istom direktorijumu. Ovako generisan HTML mail ce direktno sadrzati sliku,

Sustina je da objekat $mime sluzi za generisanje sadrzaja email poruke ( $body = $mime->get() ) a da se za slanje zatim koristi objekat $mail ($mail->send()).

Za detaljnije objasnjenje pogledati PEAR dokumentaciju.
[ popeye @ 20.03.2004. 16:36 ] @
Ako ne gresim, prilozima u poruci treba dodeljivati content-id i preko istog ih pozivati u telu HTML poruke (ne direktno po imenu).