A mail() automatikusan a message paraméterben megadott levelet a to paraméterben megadott címzettnek. A levél témamegjelölését a subject határozza meg. Több címzettet is megadhatsz, ha vesszőt teszel a címzettek listájában az email címek közé a to paraméterében. Levélmellékletek és egyéb különleges tartalmú levelek küldésére is használható ez a függvény. Ezeket a MIME kódolással érhetők el, amelyről részletesebb leírást egy Zend cikkben vagy a PEAR Mime Classes c. található.
A követkeő RFC-k is számos segítséget nyújthatnak: RFC 1896, RFC 2045, RFC 2046, RFC 2047, RFC 2048 és RFC 2049.
A mail() TRUE-val tér vissza, ha levelet sikeresen átvette továbbításra, máskülönben FALSE-szal.
Figyelem |
A mail() Windows-os implementációja sokban különbözik a Unix-ostól. Előszöris nem használ helyi binárist az üzenetek létrehozásához, közvetlenül socket-eken dolgozik, ami azt jelenti, hogy egy MTA-ra van szükség, amely egy hálózati socket-en figyel (ami természetesen lehet a localhost-on vagy egy távoli gépen). Másodszor, a From:, Cc:, Bcc: és Date:-hez hasonló fejléceket nem az MTA interpretálja először, hanem a PHP. A PHP 4.3-nál korábbi verziói csak a Cc: fejléc elemet támogatta (és ez érzékeny volt a kis- és nagybetűkre). A PHP 4.3-tól kezdődő verziói az említett fejlécek mindegyikét támogatja, és nem kis- és nagybetűérzékeny. |
A negyedik paraméter megadott szöveg az email fejléc végére kerül. Ez nagyon gyakran újabb fejlécek elküldésére használható, több ilyen esetén azokat az újsorkarakterrel kell elválasztani.
Megjegyzés: A fejlécek elválasztására a \r\n karaktersorozatot kell használni még akkor is, ha néhány Unix levéltovábbító elem az egyszerű újsorkarakterrel (\n) is beéri. A Cc: fejléc kis- és nagy betűre érzékeny, így Cc: kell írni Win32 rendszereken. A Bcc: fejlécet nem támogatják a Win32 rendszerek.
Az additional_parameters paraméter használható arra, hogy a levélküldőként beállított program számára további paramétereket lehessen átadni, lásd: sendmail_path). Ezzel például a levél mellé a feladó 'borítékot' is küldhet a sendmail-t használva, a sendmail -f paraméterével. Szükség lehet a webszervert futtató felhasználót sendmail beállításai közé felvenni, hogy a levelekbe ne kerüljenek X-Warning fejlécek, ha ezzel a módszerrel küldesz 'borítékot' a levél mellé.
Megjegyzés: Az ötödik paraméter PHP 4.0.5-től elérhető. A PHP 4.2.3 óta ez a paraméter safe_mode használata esetén ki van kapcsolva, ha pedig megpróbálod használni, a mail() függvény figyelmeztető üzenetet ad, majd FALSE-t térít vissza.
Egyszerű sztring kezelő módszerekkel lehet összetettebb e-mail üzenetek összeállításához:
Megjegyzés: Biztosítani kell, hogy a ne legyen egyetlen újsorkarakter sem a to vagy a subject fejlécben, mert különben nem megfelelően lesz kiküldve a levél.
Megjegyzés: A to ne legyen "Valami <valaki@example.com>" alakú cím. Előfordulhat, hogy a mail parancs nem fogja megfelelően felismerni, az MTA-val való kommunikáció során. (Különösen Windows alatt).
Lásd még az imap_mail() függvényt.