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 elküldte máskülönben FALSE-szal.
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. 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ő.
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.