Page 1 sur 1

Rajouter un deuxième expéditeur CCI

Posté : 08 déc. 2014, 16:50
par Maxilove
Bonjour,

J'ai mit en place un petit formulaire sur mon site qui permet à l'utilisateur de recevoir un lien par email. Le code semble bien marché mais je voudrais recevoir une copie du mail qui est envoyé, afin de garder une trace dans mes archives de l'envoi du mail.

Voilà mon code sur la page de destination une fois le formulaire validé :

<?php if(isset($_POST) && isset($_POST['mail'])){ extract($_POST); if(!empty($mail) && !empty($choix1)){ $destinataire="[email protected]"; $destinataire="$mail"; $sujet="Demande de lien"; $msg="Bonjour, suite à votre demande, vous pouvez télécharger en cliquant sur ce lien : http://www.xxxxx.fr/continent/img/photo1.jpg"; $entete="Reply-to: $mail"; mail($destinataire,$sujet,$msg,$entete); } else{ echo "

Je ne sais pas si vous arriverez à comprendre ce bout de code, je l'espère, mon problème est donc que l'utilisateur reçoit le mail, mais je n'ai aucune copie de mon coté

Est ce que quelqu'un aurait une solution ?
Merci d'avance
Olivier

Re: Rajouter un deuxième expéditeur CCI

Posté : 08 déc. 2014, 17:35
par Spols
tu peux mettre une adresse en Bcc (copie conforme invisible) dans tes entêtes.
$entete="Reply-to: $mail"."\r\n"."Bcc: $mail";

Re: Rajouter un deuxième expéditeur CCI

Posté : 08 déc. 2014, 19:42
par Invité
Merci pour ta réponse Spols,

Mais pour l'instant ca n'a pas changé au niveau du résultat, il n y a toujours que un mail qui part.
Voila le code avec ta modification :

<?php if(isset($_POST) && isset($_POST['mail'])){ extract($_POST); if(!empty($mail) && !empty($choix1)){ $destinataire="[email protected]"; $destinataire="$mail"; $sujet="Demande de lien"; $msg="Bonjour, suite à votre demande, vous pouvez télécharger en cliquant sur ce lien : http://www.xxxxx.fr/continent/img/photo1.jpg"; $entete="Reply-to: $mail"."\r\n"."Bcc: $mail"; mail($destinataire,$sujet,$msg,$entete); } else{ echo "

Je me demande si après Bcc je ne devrais pas entrer mon adresse email sur laquelle je veux recevoir mes copies? Si c'est le cas je ne connais pas la syntaxe..

Re: Rajouter un deuxième expéditeur CCI

Posté : 09 déc. 2014, 10:57
par Spols
Reply-to veut dire "répondre à" j'ai supposé que tu l'avais compris et que tu y avais mis ton adresse mail dans la variable $mail. Mais comme apparemment tu ne comprends pas ce que tu code, on va reprendre au début.

L'utilisation de la fonction mail() de php peut se faire en utilisant des entêtes. Notamment l'entête Reply-to qui sert à définir à quelle adresse le destinataire du mail pourra répondre. Beaucoup de serveur mutualisé, pour éviter les abus, limite les adresses émettrice de mail via la fonction mail donc un reply to permet de recevoir d'éventuelle réponse. Dans ton script tu envoi un mail avec comme entête l’adresse du destinataire du mail c'est absurde.

utilise donc plutot ton adresse. idem pour le Bcc
$entete="Reply-to: [email protected]"."\r\n"."Bcc: [email protected]"
PS utilise les balise php pour entourer ton code il devient plus lisible
PS2 Quand tu as un doute sur une syntaxe, utilise le site php.net/nomdelafonction il est très bien fait et fourmille d’exemple.

Re: Rajouter un deuxième expéditeur CCI

Posté : 09 déc. 2014, 11:27
par Invité
Personne ne voit où est le problème s'il vous plait ?

Re: Rajouter un deuxième expéditeur CCI

Posté : 09 déc. 2014, 11:30
par Invité
Ah pardon je n'avais pu vu ta réponse , je vais tester ca merci dans tous les cas pour ton aide

Re: Rajouter un deuxième expéditeur CCI

Posté : 09 déc. 2014, 11:50
par Invité
ça ne marche toujours pas malheureusement Le mail part pour les destinataire mais pas ma copie pour moi

Je tente le tout pour le tout en te laissant tout le code :
<?php if(isset($_POST) && isset($_POST['mail'])){ extract($_POST); if(!empty($mail) && !empty($choix1)){ $destinataire="[email protected]"; $destinataire="$mail"; $sujet="Demande de carte"; $msg="Bonjour, suite à votre demande, vous pouvez télécharger votre carte en cliquant sur ce lien : http://www.cartograf.fr/continent/img/carte_changement_moyenne_temperatures_annuelles.jpg"; $entete="Reply-to: [email protected]"."\r\n"."Bcc: [email protected]"; mail($destinataire,$sujet,$msg,$entete); } else{ echo "<br><br><br><br><br><br><br><br><br><br><br>>>>>>>>>>>>>>>>>>>>>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Vous devez indiquer votre adresse e-mail et accepter les CGU pour utiliser ce service.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<<<<<<<<<<<<<<<<<<<<<<<<<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>"; } } ?>

Re: Rajouter un deuxième expéditeur CCI

Posté : 09 déc. 2014, 15:40
par Spols
Indente ton code et mets y des vérification avec des echo ou var_dump() afin de vérifier les valeurs de tes variables

Re: Rajouter un deuxième expéditeur CCI

Posté : 09 déc. 2014, 20:10
par Invité
Merci pour ton aide mais malheureusement je ne comprend pas ce que je suis sensé faire :
Indente ton code et mets y des vérification avec des echo ou var_dump() afin de vérifier les valeurs de tes variables
Je pense que mon niveau est un peu faible, c'est dommage.

Mais pourtant c'etait pas trop compliqué a priori :

L'utilisateur rentre son adresse email, et un mail avec une réponse déjà toute faite devrait arriver dans sa boite + dans ma boite pour que j'ai un suivi.

Merci en tout cas pour le temps passé dessus. Mais je doute y arriver un jour #-o

Re: Rajouter un deuxième expéditeur CCI

Posté : 09 déc. 2014, 22:19
par tesmet
Merci pour ton aide mais malheureusement je ne comprend pas ce que je suis sensé faire :
Indente ton code et mets y des vérification avec des echo ou var_dump() afin de vérifier les valeurs de tes variables
Je pense que mon niveau est un peu faible, c'est dommage.
indenter un code permet de mieux visualiser les blocs et la fonction var_dump() permet de voir le contenu de variables
<?php

if(isset($_POST) && isset($_POST['mail'])) {
  extract($_POST);
  if(!empty($mail) && !empty($choix1)) {
    $destinataire="[email protected]";
    $destinataire="$mail";
    $sujet="Demande de carte";
    $msg="Bonjour, suite à votre demande, vous pouvez télécharger votre carte en cliquant sur ce lien : http://www.cartograf.fr/continent/img/c ... uelles.jpg";
    $entete="Reply-to: [email protected]"."\r\n"."Bcc: [email protected]";
var_dump($destinataire,$sujet,$msg,$entete);
    mail($destinataire,$sujet,$msg,$entete);
  } else {
    echo "<br><br><br><br><br><br><br><br><br><br><br>>>>>>>>>>>>>>>>>>>>>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Vous devez indiquer votre adresse e-mail et accepter les CGU pour utiliser ce service.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<<<<<<<<<<<<<<<<<<<<<<<<<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>";
  }
}

?>
déjà on peut voir que la ligne $destinataire="$mail"; rend la ligne précédente $destinataire="[email protected]"; inutile.
Mais pourtant c'etait pas trop compliqué a priori :

L'utilisateur rentre son adresse email, et un mail avec une réponse déjà toute faite devrait arriver dans sa boite + dans ma boite pour que j'ai un suivi.

Merci en tout cas pour le temps passé dessus. Mais je doute y arriver un jour #-o
Yahoo aime bien mettre dans la boite spam (pourriel?) ce qui est envoyé par la fonction mail()... au lieu de la boite de réception.

Re: Rajouter un deuxième expéditeur CCI

Posté : 10 déc. 2014, 18:03
par Invité
Merci du fond du coeur !!
un très grand merci pour tout ceux qui mon aidé

ca marche parfaitement bien :-)