Fonction mail() défectueuse ?
Posté : 17 juil. 2008, 11:48
Bonjour à tous,
Je suis en train d'ajouter la validation d'inscription par mail(1) sur mon site ainsi que la fonction "Envoyer à un ami" (2).
Exemple 1: Le visiteur rempli le formulaire, il reçoit un mail avec un lien, en cliquant dessus il valide son inscription.
Exemple 2: Le visiteur rempli le formulaire en indiquant l'adresse de son "ami" et son ami reçoit le mail.
Mon problème : le mail ne s'envoie pas tout le temps.
Ma question : Cela vient-il de ma fonction ou de mon hébergeur Online.net ?
Précisions : Lorsque le mail s'envoie, tout fonctionne parfaitement. Hier soir, seulement 1 mail sur 5 arrivait à destination, ce matin, 4 sur 5 je dirais, ce qui me fait penser à une possible surcharge de Online.net, à savoir qu'il y a souvent des problèmes (FTP inaccesible pendant un quart d'heure par exemple, BD hs pendant une heure, ...)
Voici la fonction "Envoyer à un ami" :
Merci d'avance.
Je suis en train d'ajouter la validation d'inscription par mail(1) sur mon site ainsi que la fonction "Envoyer à un ami" (2).
Exemple 1: Le visiteur rempli le formulaire, il reçoit un mail avec un lien, en cliquant dessus il valide son inscription.
Exemple 2: Le visiteur rempli le formulaire en indiquant l'adresse de son "ami" et son ami reçoit le mail.
Mon problème : le mail ne s'envoie pas tout le temps.
Ma question : Cela vient-il de ma fonction ou de mon hébergeur Online.net ?
Précisions : Lorsque le mail s'envoie, tout fonctionne parfaitement. Hier soir, seulement 1 mail sur 5 arrivait à destination, ce matin, 4 sur 5 je dirais, ce qui me fait penser à une possible surcharge de Online.net, à savoir qu'il y a souvent des problèmes (FTP inaccesible pendant un quart d'heure par exemple, BD hs pendant une heure, ...)
Voici la fonction "Envoyer à un ami" :
function envoyeramimail()
{
$mail = $_REQUEST['MAIL'];
$nom = $_REQUEST['NOM'];
$prenom = $_REQUEST['PRENOM'];
$commentaire = $_REQUEST['COMMENTAIRE'];
$texte = "<html>
<head></head>
<body>
$nom $prenom vous invite à aller voir le site du
<a href=\"http://***************\">Test</a>
<br/>$commentaire</body></html>";
$headers = "From: Webmaster Site <[email protected]>\n";
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-Type: text/html; charset=iso-8859-1\n";
$to = $mail;
$subject = "Test";
$message = $texte;
mail($to, $subject, $message, $headers);
affichage();
}
La fonction d'envoi du mail de validation :
function verification()
{
$civilite = $_REQUEST['CIVILITE'];
$nom = $_REQUEST['NOM'];
$prenom = $_REQUEST['PRENOM'];
$societe = $_REQUEST['SOCIETE'];
$mail = $_REQUEST['MAIL'];
$cotisation = isset($_REQUEST['COTISATION']) ? $_REQUEST['COTISATION'] : 'non';
$participe = isset($_REQUEST['PARTICIPE']) ? $_REQUEST['PARTICIPE'] : 'non';
$news = isset($_REQUEST['NEWS']) ? $_REQUEST['NEWS'] : 'non';
$tarif = $_REQUEST['TARIF'];
$code = rand();
$status = "Attente";
require ('../Inc/init.inc');
mysql_connect($SERVER, $LOGIN, $PASSWORD);
mysql_select_db($DATABASE);
$query = "INSERT INTO inscription (civilite, nom, prenom, societe, mail, cotisation, participe, news, tarif, code, status)
values ('$civilite', '$nom', '$prenom', '$societe', '$mail', '$cotisation', '$participe', '$news', '$tarif', '$code', '$status')";
$result = mysql_query($query) OR die('Requête invalide : ' . mysql_error());
//Partie ENVOI MAIL
$headers = "From: Webmaster Site <[email protected]>\n";
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-Type: text/html; charset=iso-8859-1\n";
$to = $mail;
$subject = "Confirmation d'inscription";
$message = "<html>
<head></head>
<body>
Bonjour $civilite $nom,<br/>Nous avons bien reçu votre réservation et nous vous en remercions. Afin de valider votre inscription, merci de bien vouloir cliquer sur ce lien :
<a href=\"http://****************/***/*****.php?EX=validation&nom=$nom&code=$code\">Validation</a>
</body></html>";
mail($to, $subject, $message, $headers);
affichage();
}
Qu'en pensez-vous ? Merci d'avance.