Envoyer un email en PHP avec la fonction mail et des headers pour eviter le SPAMMING et la sécurité
function envoyer_email($mail_destinataire, $mail_envoyeur, $nom_envoyeur, $sujet_mail, $message)
{
$retour="\n";
$mime_boundary=md5(time());
# Les En-têtes
$headers .= "From: $nom_envoyeur <$mail_envoyeur>".$retour;
$headers .= "Reply-To: $nom_envoyeur <$mail_envoyeur>".$retour;
$headers .= "Return-Path: $nom_envoyeur <$mail_envoyeur>".$retour;
// Adresse de réponse
$headers .= "Message-ID: <".$now." System@".$_SERVER['SERVER_NAME'].">".$retour;
$headers .= "X-Mailer: PHP v".phpversion().$retour; // Passer le test SPAM
# Headers Multiples
$headers .= 'MIME-Version: 1.0'.$retour;
$headers .= "Content-Type: multipart/related; boundary=\"".$mime_boundary."\"".$retour;
$msg = "";
# Text ou HTML peu importe
$msg .= "Content-Type: multipart/alternative".$retour;
# Text
$msg .= "--".$mime_boundary.$retour;
$msg .= "Content-Type: text/plain; charset=iso-8859-1".$retour;
$msg .= "Content-Transfer-Encoding: 8bit".$retour;
$msg .= strip_tags(str_replace("<br>", "\n", $message)).$retour.$retour;
# HTML
$msg .= "--".$mime_boundary.$retour;
$msg .= "Content-Type: text/html; charset=iso-8859-1".$retour;
$msg .= "Content-Transfer-Encoding: 8bit".$retour;
$msg .= $message.$retour.$retour;
# Fin
$msg .= "--".$mime_boundary."--".$retour.$retour; // Sécurité
# Envoyer le mail
mail($mail_destinataire, $sujet_mail, $msg, $headers);
echo "Email parti";
return 1;
}
Utilisation:
envoyer_email("destinataire@toto.com", "envoyeur@toto.com", "Votre nom", "sujet", "votre message");
Les Commentaires