Hogyan működik a mail osztály?

Rövid összefoglaló a mail osztály használatához és működési elveihez.

Deklarált változók és jelentésük

var $html; – html levél tartalom
var $text; – text levél tartalom
var $output; – renderelt küldés előtti nyers tartalom egy eml fájl, ami még nem tartalmazza a levél transzport során hozzáadódó későbbi header részeket
var $html_text; – html tartalom text formában
var $html_images; – beágyazott fájlok/képek tömbje
var $image_types; – fájl/kép formátumok
var $build_params; – mime paraméterek tömbje
var $attachments; – csatolt tartalmak tömbje
var $headers; – mime header rész

A mail classt használjuk általában egy $mimemessage példányaként.

Példányosítás:
$mimemessage = new email(array('X-Mailer: osCommerce'));
ahol a tömbként átadott elemek a $build_params részei lesznek.

Az osztály későbbi paraméterezése kívülről direkt módon is megtörténhet:
$mimemessage->build_params['MY_PARAM'] = 'PARAMETER'

A beágyazott képek vagy egyéb tartalmak lehetnek fájl link vagy fájl tartalmúak. Itt logikailag nem csak képekről beszélhetünk, ezért van egy $images_types tömb, amihez adhatunk PDF, MP3, ZIP vagy más kiterjesztéseket is.

A fájl tartalom beolvasást a
$mimemessage->get_file()
függvény adja vissza a beágyazáshoz.

Ha beágyazott linket használunk kép névnek (string), akkor abszolút URL hivatkozásként kell megadni a fájl nevet.

Az $images_types tömböt a
$mimemessage->images_types['kiterjesztés'] = 'type/kiterjesztés';
direkt külső hívással paraméterezhetjük.

A kiterjesztések illetve a típusok például a következőek lehetnek:
.rar application/x-rar-compressed, application/octet-stream
.zip application/zip, application/octet-stream

A html_images fájlokat/képeket rendereléskor automatikusan beágyazza a rendszer a html tartalomba, amit a
find_html_images($images_dir) belső függvény hajt végre a regisztrált fájl kiterjesztések felhasználásával. Az eljárás email szabványos belső hivatkozást generál a CID paraméterrel.

HTML kód részlet:

<img src="cid:<?php echo $html_images[$image_name]; ?>" alt="" />
<a href="cid:<?php echo $html_images[$image_name]; ?>">file name</a>

ahol a php-val kiírt fájlnév fog kicserélődni.

Ha anchor taggal linkelünk, akkor érdemes lehet más nevet használni, mint a fájl nevet link névnek is megadni , mert akkor az nem cserélődik ki.

A boundary részek automatikusan épülnek fel a belső függvények és a behívott mime class használatával a send() függvényhívás során.

Renderelés előtt a
$mimemessage->build_message($params)
felhasználásával automatikusan hozzáadhatjuk a headerhez a korábban létrehozott megkívánt paraméter táblánkat.

Fájl csatolmányokat a
add_attachment($file, $name = '', $c_type='application/octet-stream', $encoding = 'base64')
függvénnyel adhatunk a levélhez.

Injektálhatunk saját objektum partokat is a levélbe, ha szükség lenne rá
add_alternative_part(&$obj)
add_mixed_part(&$obj)
add_html_part(&$obj)
add_text_part(&$obj)
add_related_part(&$obj)
add_attachment_part(&$obj)
add_html_image_part(&$obj)

A fenti bemutatás remélem kellő információt nyújt majd az integrációkhoz.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöljük.