8791 sujets

Développement web côté serveur, CMS

Pages :
Bonjour à vous,

Je ne sais pas si je suis dans la bonne partie du forum.

J'ai un soucis avec le code php d'envoi d'email de mon theme ( aucun email n'est envoyé! )

voici le code

<?php

	//-----------------------------------------------------
	//-----------------------------------------------------
	$address=$_GET["webmaster@diez-factory.org"]; 
	//-----------------------------------------------------
	//-----------------------------------------------------

	$name = $_REQUEST["Name"];
	$email = $_REQUEST["Email"];
	$subject = $_REQUEST["Subject"];
	$message_content = $_REQUEST["Message"];
	
	$mime_boundary = md5(time());

	$headers = "From: $name <$email>\n";
	$headers .= "Reply-To: $subject <$email>\n";
	$headers .= "MIME-Version: 1.0\n";
	$headers .= "Content-Type: multipart/alternative; boundary=\"$mime_boundary\"\n";

	$message = "--$mime_boundary\n\n";
	
	$message .= "You have an email from your web site: \n\n\n";
	$message .= "Name: $name \n\n";
	$message .= "Email: $email \n\n";
	$message .= "Subject: $subject \n\n";
	$message .= "Message: $message_content \n\n";

	$message .= "--$mime_boundary--\n\n";

	$mail_sent = @mail( $address, $subject, $message, $headers );
	echo $mail_sent ? "Success, mail sent!" : "Mail failed";

?>


Pourriez vous me dire ou est le problème ? Merci d'avance !

Cordialement
Modifié par Dz54 (13 Jul 2011 - 14:27)
Je pense que le problème vient de cette ligne:

$address=$_GET["webmaster@diez-factory.org"]; 


A remplacer par:

$address = 'webmaster@diez-factory.org'; 
Essaie de remplacer
$mail_sent = @mail( $address, $subject, $message, $headers );

par
$mail_sent = mail( $address, $subject, $message, $headers );


Et garde ce que t'as dis Technologix, à mon avis ton $_GET n'est pas bon.
Toujours pareil voici le code aprés vos changement

<?php

	//-----------------------------------------------------
	//-----------------------------------------------------
	$address = 'webmaster@diez-factory.org'; 	
	//-----------------------------------------------------
	//-----------------------------------------------------

	$name = $_REQUEST["Name"];
	$email = $_REQUEST["Email"];
	$subject = $_REQUEST["Subject"];
	$message_content = $_REQUEST["Message"];
	
	$mime_boundary = md5(time());

	$headers = "From: $name <$email>\n";
	$headers .= "Reply-To: $subject <$email>\n";
	$headers .= "MIME-Version: 1.0\n";
	$headers .= "Content-Type: multipart/alternative; boundary=\"$mime_boundary\"\n";

	$message = "--$mime_boundary\n\n";
	
	$message .= "You have an email from your web site: \n\n\n";
	$message .= "Name: $name \n\n";
	$message .= "Email: $email \n\n";
	$message .= "Subject: $subject \n\n";
	$message .= "Message: $message_content \n\n";

	$message .= "--$mime_boundary--\n\n";

	$mail_sent = mail( $address, $subject, $message, $headers );
	echo $mail_sent ? "Success, mail sent!" : "Mail failed";

?>
Déjà fait des essais d'envois mails par php simples , pour vérifier que ta configuration php te permette d'envoyer des mails.

Ensuite vérifie par un echo le contenu de tes variables.
Problème , je pass par le CMS wordpress et le code vient du template , l'envoi d'email via wordpress mais avec un autre template fonctionne , mais pas avec celui que j'utilise actuellement ...
bon j'ai quand même testé , et l'email n'est pas envoyé ! Que me conseillez vous ? cela viendrait il de wordpress ? si oui que faire .. je désesper
si tu dis qu'avec un template l'envoi d'email marche mais pas avec celui que tu veux utiliser cela signifie que le premier marche avec ton hebergement mais pas le second.

Il faut que tu regardes alors quelles sont les différences de code entre les deux ...

Sinon si tu as la main sur ton hébergement tu peux te faire une page d'essai en php pour voir vraiment ce qu'il te faut pour les emails, vérifie aussi ton phpinfo pour voir si les valeurs smtp sont renseignées par défaut, si ça se trouve ce n'est pas le cas et le premier template initialise lui-même aux bonnes valeurs.
Alors en testant un plugin wordpress (donc aucune liaison avec le template) l'email n'est pas envoyé , j'ai un hébergement chez OVH , je n'est jamais eu de soucis d'envoi d'email avec mes autre site , je pense que cela vient de wordpress.
Conclusion , je vais essayer avec une reinstallation d'un autre wordpress en doublure et je vais voir.

Je vous tiens au courant, encore merci pour votre aide.

Cordialement
Bon alors après une réinstallation en double d'un autre blog wordpress , l'envoi d'email et nul , je pense savoir pourquoi ,

Pour installer la derniere version de wordpress il faut passer en PHP 5 , avec l'ancienne version qui fonctionné sous PHP4 les email était bien envoyé !! et la non ! donc cela vient de la version du PHP !

Auriez vous une idée ???

-- // Hébergement OVH
-- // PHP 5 via Htaccess
-- // 2 noms de domaine

Merci
Arialia // OUla je ne mis connai pas asser la :s pourrai tu m'expliquer la démarche ?

merci d'avance !
Modifié par Dz54 (14 Jul 2011 - 23:09)
jb_gfx C'est deja testé et cela ne change pas

///////////// ceux ci :

pour PHP 5.2 :
SetEnv PHP_VER 5

pour PHP 5.3 :
SetEnv PHP_VER 5_TEST
Modifié par Dz54 (14 Jul 2011 - 23:08)
alors fais un fichier php avec comme code :

<?php

// Affiche toutes les informations, comme le ferait INFO_ALL
phpinfo();



?>


attention ça donne les informations sur toutes les extensions php ... recherche après le texte "smtp" pour voir les valeurs des variables

PS : la balise code php déconne vraiment , la balise js marche bien par contre ...

PS2 :vu que par le .htaccess tu peux spécifier la version du php ( j'ai appris un truc là )
je te conseilles de créer un répertoire de test où tu fera un .htaccess avec la version php4
et un fichier info.php avec la fonction phpinfo()

compare ensuite les valeurs des variables PHP4 et PHP5 surtout la valeur de "sendmail_path"
Modifié par Arialia (14 Jul 2011 - 23:33)
Pages :