php : fonction mail() et Cc: - PHP - Programmation
Marsh Posté le 20-08-2012 à 16:22:08
En attendant mieux j'ai inséré une nouvelle boucle if(mail() pour envoyer un second mail mais je trouve que ça casse pas des briques comme solution...
Merci à ceux qui prendront le temps de lire tout ça...
Marsh Posté le 20-08-2012 à 16:43:48
C'est normal $$index = stripslashes(trim($valeur)); (je parle du $$ : ça existe en php mais c'est pas souvent utilisé)
Pour le cc, tout ce que tu as à faire, c'est mettre les adresses mail les unes à la suite des autres, séparées par des virgules
Conseil : les mettre dans un Array et faire un implode(",", $ArrayMails)
Edit : je viens de comprendre ton $$index. Mais y'a déjà une fonction qui existe en php pour ça : extract(); Perso, je trouve que c'est pas une bonne idée de faire comme ça, souvent une source d'erreur tout comme l'ex "registrer_global" à "On" dans le php.ini
Marsh Posté le 20-08-2012 à 16:50:52
Merci.
Pour les cc j'ai essayé de séparer par des virgules mais rien n'y fais, il n'y a que la première des adresses qui reçoit qqch...
tu me conseilles quoi à la place du :
$$index = stripslashes(trim($valeur));
Marsh Posté le 20-08-2012 à 17:03:21
t'as essayé sur ton PC en local (un wampserver + un smtp local) pour vérifier que ça vient pas de ton provider ou ton hébergeur qui filtre la fonction mail() ?
Parce que c'est comme ça que j'ai fait pour mon soft de help-desk Astres (cf ma signature) et ça marche très bien. Tu peux le télécharger pour récupérer une partie de mon code (/Astres/Common/EmailLibrary.php).
Marsh Posté le 20-08-2012 à 17:05:23
J'ai pas essayé en local mais directement en ligne.
En ligne ça marche bien avec une adresse, donc il ne filtre pas le fonction mail().
Dès que je passe à deux adresses ça marche po...
Marsh Posté le 20-08-2012 à 15:44:29
bonjour à tous,
J'ai fait un site avec un formulaire qui transmet les réponses par mail via la fonction mail(). Mais je n'arrive pas à envoyer les données à plusieurs mail.
quelqu'un aurait il la gentillesse de regarder mon code php pour m'aider un peu.
Merci d'avance :
<?php
define('MAIL_SUJET','formulaire');
define('to','monmail@yahoo.fr');
//récupération des données
foreach($_POST as $index => $valeur) {
$$index = stripslashes(trim($valeur));
}
//Preparation de l entete du mail
$mail_entete = "MIME-Version: 1.0\r\n";
$mail_entete .= "From: {$_POST['Nom']} "."<{$_POST['Mail']}>\r\n";
$mail_entete .= 'Reply-To: '.$_POST['Mail']."\r\n";
$mail_entete .= 'Content-Type: text/plain; charset="iso-8859-1"';
$mail_entete .= "\r\nContent-Transfer-Encoding: 8bit\r\n";
$mail_entete .= 'X-Mailer:PHP/' . phpversion()."\r\n";
$mail_entete .= 'Cc:mail2.yahoo.fr' . "\r\n";
// preparation du corps du mail
$mail_corps = "Message de : $Civilite $Titre $Prenom $Nom\n";
$mail_corps.= "Fonction : $Fonction\n";
$mail_corps.= "Société : $Societe\n";
$mail_corps.= "Téléphone : $Telephone\n";
$mail_corps.= "Adresse : $Adresse\n";
$mail_corps.= "Mail : $Mail\n";
// envoi du mail
if (mail(to,MAIL_SUJET,$mail_corps,$mail_entete)) {
$redirection = 'http://accueilmonsite.fr';
echo '<p style="text-align:center;"><a href="'.$lien.'">Vous allez être redirigé, cliquez ici si vous ne voulez pas attendre...</a></p>';
echo '<script type="text/javascript">';
echo " window.setTimeout(\"location=('".$redirection."');\",2000)";
echo '</script>';
} else {
echo "Sorry error please try again...";
}
?>