Trimitere unui email in PHP
Sintaxa comenzii mail este:
mail($destinatar,$subiect,$corpul_mesajului,$antet);
variabila $destinatar contine adresa e-mail la care sa fie transmis mesajul.
variabila $subiect trebuie sa contina textul care dorim sa apara în linia Subject: a mesajului.
variabila $corpul_mesajului contine textul mesajului - continutul sau.
variablia $antet se transmit componentele suplimentare din antetul mesajului. Cel mai des e vorba despre campul From: dar poate fi inclusa oricare linie din antet, precum Cc:, sau Bcc: .
La variabila antet puteti renunta daca nu va este folositoare. Ea nu este obligatorie.
exemplu:
$destinatar = "ion@yahoo.com";
$subiect = "despre sex";
$corpul_mesajului = "sexul este unul dintre cele mai controversate subiecte.ajuta-ma!";
$antet = "From: alin@Yahoo.com";
mail($destinatar,$subiect,$corpul_mesajului,$antet);
Acest cod va trimite un mesaj la adresa ion@yahoo.com , cu subject:ul si textul de mai sus.
<html>
<body>
<?php
if (isset($_REQUEST['email']))
//daca campurile sunt completate, trimite email
{
//trimite email
$email = $_REQUEST['email'] ;
$subject = $_REQUEST['subject'] ;
$message = $_REQUEST['message'] ;
mail("someone@example.com", "Subject: $subject",
$message, "From: $email" );
echo "Va multumim pentru ca ati folosit emailul nostru";
}
else
//daca formularul de email nu este completat….
{
echo "<form method='post' action='mailform.php'>
Email: <input name='email' type='text' /><br />
Subject: <input name='subject' type='text' /><br />
Message:<br />
<textarea name='message' rows='15' cols='40'>
</textarea><br />
<input type='submit' />
</form>";
}
?>
</body>
</html>
Erori
Este util sa adaugam scriptului o secventa de verificare, de forma:
if(mail($to,$subject,$body,$headers)) {
echo "Mesajul e-mail a fost trimis la $to cu subiectul: $subject";
} else {
echo "A intervenit o eroare la trimiterea mesajului. Verificati scriptul si asigurati-va ca adresa e-mail $to este corecta";
}Daca mesajul este expediat fara probleme, va aparea mesajul “Mesajul e-mail a fost trimis la $to cu subiectul: $subject “
In cazul unei erori, va aparea mesajul : A intervenit o eroare la trimiterea mesajului. Verificati scriptul si asigurati-va ca adresa e-mail $to este corecta.