Page 1 sur 1

Mail qui ne s'envoie pas

Posté : 11 nov. 2013, 14:24
par claire92
Bonjour,

J'ai écris ce code pour envoyer un mail après remplissage du formulaire, à différents destinataires sélectionner dans une liste multiple. Je n'ai aucun message d'erreur mais je ne reçois pas le mail.. Une idée?
Voici mon code PHP:
<?php 
//Ouverture de la session
session_start();

//Définition de toutes les variables
$copie = 'non'; // 'oui' ou 'non'

$message_envoye = "<div class='msg'> Votre message nous est bien parvenu . Nous y répondrons dans les plus brefs délais. Pour retourner au site cliquez <a href='monsite/contact'>ici</a></div>";
$message_non_envoye = "<div class='msg'>L'envoi du mail a échoué, veuillez réessayer s'il vous plait ou utiliser une méthode traditionnelle.</div>";

$nom = (isset($_POST['nom']));
$prenom = (isset($_POST['prenom']));
$email = (isset($_POST['email']));
$destinataire = array(
		'1'  => '[email protected]',
		'2'  => '[email protected]',
		'3' => '[email protected]',
);
$objet = (isset($_POST['objet']));
$message = (isset($_POST['message']));

$headers ='From:' .$nom."\n";
$headers .='Content-Type: text/plain; charset="iso-8859-1"'."\n";
$headers .='Content-Transfer-Encoding: 8bit';

//On vérifie la syntaxe de l'email
function IsEmail($email) {
	return (filter_var($email, FILTER_VALIDATE_EMAIL));
}

//On définit l'expéditeur
ini_set('sendmail_from', $email);
		
//On définit les destinataires sélectionnés et on envoie le formulaire
	if (is_array($destinataire)) {
		foreach ($destinataire as $cible) {
			if (array_key_exists($cible, $destinataire)) {
				mail($destinataire[$cible], $subject, $message, $headers);
			}
		}
	}

//On arrête l'envoi du formulaire
exit;
//On définit la page de retour après envoi du formulaire
	header("Location:index.html");

?>
Et mon code HTML
 <form method="post" action="contact.php"> 
	<fieldset><legend>Vos coordonnées</legend>
		<p><label for="nom">Nom:</label> </p> 
		<p><input type="text" id="nom" name="nom" placeholder="Nom" required tabindex="1"/></p>
						            
		<p><label for="nom">Prénom:</label> </p> 
		<p><input type="text" id="prenom" name="prenom" placeholder="Prénom" required tabindex="2"/></p>
						            
	        <p><label for="email">Votre email:</label></p> 
		<p><input type="text" id="email" name="email" placeholder="[email protected]" required tabindex="3"/> </p>
						            
		<p><label for="destinataire">Destinataire :</label></p>
		<p> <select multiple="multiple" name="destinataire" id="destinataire" size="6" required>
				<option value="1">Claire</option>
				<option value="2">Mathieu</option>
				<option value="3">Claire2</option>
			</select></p>
		</fieldset>
	            
		<fieldset><legend>Votre message :</legend>
				<p><label for="objet">Objet:</label></p> 
				<p><input type="text" id="objet" name="objet" placeholder="Objet de votre mail" required tabindex="5" /> </p>
						            
				<p><label for="message">Votre message:</label></p> 
				<p><textarea name="message" id="message" tabindex="6" placeholder="Votre mail" required> </textarea> </p>
						            
				<p><input type="submit" id="envoi" name="envoi" tabindex="7" value="Envoyer"/></p>
		</fieldset>
</form>

Re: Mail qui ne s'envoie pas

Posté : 11 nov. 2013, 15:40
par franckm
J n'ai pas lu ton code precisémment mais parfois il faut regarder du côté des headers car certains FAI bloquent certains mails n'ayant pas des headers particuliers. C'est notamment le cas de ORANGE.

Fais une recherche sur GOOGLE là dessus.