Forum und email

mail

(PHP 4, PHP 5)

mail — trimite mail

Descriere

bool mail ( string $to , string $subject , string $message [, string $additional_headers [, string $additional_parameters ]] )

mail() trimite automat mesajele specificate în message către destinatarul specificat în to . Pot fi specificaţi mai mulţi destinatari, separând adresele prin virgulă în parametrul to . Pot fi trimise e-mail-uri cu fişiere ataşate şi cu tipuri speciale de conţinut utilizând această funcţie. Aceasta se realizează prin codificare MIME; Pentru mai multe informaţii vezi » un articol ZEND sau » Clasele PEAR - MIME.

Următoarele RFC-uri pot fi, de asemenea, folositoare: » RFC 1896, » RFC 2045, » RFC 2046, » RFC 2047, » RFC 2048, şi » RFC 2049.

mail() returnează TRUE dacă mailul a fost trimis cu succes, FALSE în caz contrar.

Example#1 Trimiterea unui e-mail.

mail("[email protected]", "Subiectul", "Linia 1\nLinia 2\nLinia 3");

Dacă şi cel de-al patrulea argument este trimis către funcţie, acest şir este inserat la finalul antetului. Acest parametru se utilizează pentru a adăuga antete adiţionale. Antetele multiple se separă cu un început de rînd (\r) şi cu o linie nouă (\n).

Notă: Trebuie utilizată combinaţia \r\n pentru separarea antetelor, cu toate că unii agenţi de transfer mail din Unix pot lucra cu un singur caracter linie nouă (\n). Antetul Cc: este sensibil la distincţia majuscule/minuscule şi trebuie scris Cc: pe sisteme Win32. Antetul Bcc: nu este suportat pe sistemele Win32.

Example#2 Trimiterea de mail-uri cu antete adiţionale.

mail("[email protected]", "subiectul", $mesaj,
     "From: webmaster@$NUME_SERVER\r\n"
    ."Reply-To: webmaster@$NUME_SERVER\r\n"
    ."X-Mailer: PHP/" . phpversion());

additional_parameters poate fi utilizat pentru a trimite parametri adiţionali programului folosit pentru trimiterea de e-mail-uri specificat în sendmail_path. De exemplu aceşti parametri adiţionali pot fi folosiţi pentru a indica adresa expeditorului. Pentru a preveni trimiterea unui antet 'X-Warning' odată cu mesajul atunci când utilizaţi această metodă este posibil să fie necesar să adăugaţi utilizatorul care rulează serverul web.

Example#3 Expedierea de mesaje cu antete adiţionale şi setarea unui parametru linie de comandă adiţional.

mail("[email protected]", "subiectul", $mesaj,
     "From: webmaster@$SERVER_NAME", "-fwebmaster@$SERVER_NAME");

Notă: Cel de-al cincilea parametru a fost adăugat în PHP 4.0.5.

Se pot utiliza şiruri simple pentru a constru mesaje de e-mail complexe.

Example#4 Expedierea de mesaje complexe.

/* destinatari */
$catre  = "Mary <[email protected]>" . ", " ; //notaţi virgula
$catre .= "Kelly <[email protected]>";

/* subiect */
$subiect = "Zile de naştere în august";

/* mesaj */
$mesaj = '
<html>
<head>
 <title>Zile de naştere în august</title>
</head>
<body>
<p>Zile de naştere care se sărbătoresc în august!</p>
<table>
 <tr>
  <th>Persoana</th><th>Ziua</th><th>Luna</th><th>Anul</th>
 </tr>
 <tr>
  <td>Joe</td><td>3</td><td>august</td><td>1970</td>
  <td>Sally</td><td>17</td><td>august</td><td>1973</td>
 </tr>
</table>
</body>
</html>
';

/* Pentru a trimite un e-mail în format HTML trebuie setat antetul Content-type. */
$antete  = "MIME-Version: 1.0\r\n";
$antete .= "Content-type: text/html; charset=iso-8859-1\r\n";

/* Antete adiţionale */
$antete .= "From: Monitorizare zile de nastere <[email protected]>\r\n";

$antete .= "Cc: [email protected]\r\n";
$antete .= "Bcc: [email protected]\r\n";

/* Şi acum să-i dăm drumul... */
mail($catre, $subiect, $mesaj, $antete);

Notă: Aveţi grijă să nu fie vreun caracter linie nouă (\n) în parametrii to sau subject , dacă doriţi ca mesajul să fie trimis.