Levelet küld.
A levél címzettje vagy címzettjei.
E string alakjának eleget kell tennie az RFC 2822-nek. Néhány példa:
bela@example.com |
bela@example.com, geza@example.com |
Bela <belar@example.com> |
Bela <bela@example.com>, Geza bacsi <geza@example.com> |
A küldendő levél témamegjelölése.
Figyelem |
Ez nem tartalmazhat újsor karaktert. |
Az elküldendő üzenet.
A sorokat LF (\n) karakterekkel kell elválasztani. A sorok nem lehetnek 70 karakternél hosszabbak.
Figyelem | |
(csak Windows esetén) Amikor a PHP az SMTP szerverrel kommunikál, ha egy pont szerepel a sor elején, azt eltávolítja. Ennek kivédésére helyettesítsd ezeket a pontokat két ponttal.
|
Az email fejlécek végéhez beillesztendő string.
Ezt tipikusan további fejlécek hozzáadására használják (From, Cc, Bcc). Több fejléc elválasztására a CRLF-t (\r\n) kell használni.
Megjegyzés: Levélküldéskor a levélnek kell tartalmaznia egy From fejlécet. Ez beállítható az additional_headers paraméterrel, vagy megadható egy alapértelmezés a php.ini-ben.
Ha ezt nem teszed meg, akkor ehhez hasonló üzenetet fogsz kapni: Warning: mail(): "sendmail_from" not set in php.ini or custom "From:" header missing.
Megjegyzés: Ha az üzenetek nem érkeznek meg, próbálj meg csak LF-et (\n) használni. Egyes gyenge minőségű Unix levéltovábbítók a LF karaktereket CRLF karakerekpárokkal helyettesítik (amely dupla CR előfordulásokhoz vezet, ha CRLF használata esetén). Ezt csak vészmegoldásként szabad használni, mivel nem felel meg az RFC 2822-nek.
Az additional_parameters paraméterrel adhatunk át további paramétereket a sendmail_path-al konfigurált levélküldő programnak. 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é. Sendmail esetén ez a fájl: /etc/mail/trusted-users.
TRUE-val tér vissza, ha levelet sikeresen átvette továbbításra, máskülönben FALSE-szal.
Az, hogy átvette továbbításra a levelet, NEM jelenti azt, hogy a levél ténylegesen kézbesítve lesz a kívánt célba.
Változat | Leírás |
---|---|
4.3.0 (csak Windows esetében) | Minden fejléc (mint pl. From, Cc, Bcc és Date) támogatott, és nincsenek megkülönböztetve a kis- és nagybetűk. (Mivel a felhasználó által megadott fejléceket először nem az MTA értelmezi, hanem a PHP, a PHP < 4.3 csak a Cc fejlécet támogatta és különbséget tett a kis- és nagybetűk között). |
4.2.3 | Az additional_parameters paraméter safe_mode-ban nem engedélyezett, használata esetén a mail() függvény figyelmeztető üzenetet ad, és FALSE-szal tér vissza. |
4.0.5 | A paraméterlista bővült az additional_parameters -el. |
Példa 4. HTML email küldése A mail() függvénnyel lehetséges HTML email-ek küldése is.
|
Megjegyzés: A mail() Windows-os implementációja sokban különbözik az 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.
Harmadszor, a to paraméter nem lehet "Valami <valami@example.com>" alakban. A mail parancs nem biztos, hogy jól értelmezi ezt, miközben az MTA-val beszél.s
Megjegyzés: Csatolmányokkal ellátott vagy speciális tertalmú (pl. HTML) email-ek is küldhetők ezzel a függvénnyel. Ezt MIME kódolással lehet elérni - lásd: Zend cikk vagy PEAR Mime osztályok.
Megjegyzés: Jó tudni, hogy a mail() függvény nem alkalmas ciklusban nagymennyiségű email-ek küldésére, mivel minden egyes levél esetén megnyit majd bezár egy SMTP socket-et, ami nem hatékony.
Nagymennyiségű email-ek küldésével kapcsolatban tanulmányozd a PEAR::Mail, és a PEAR::Mail_Queue csomagot.