Tom's Guide > Forum > Programmation > Boites e-mail sélectives

Boites e-mail sélectives

Forum Programmation : Boites e-mail sélectives

TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !
Mot :    Pseudo :           
 

Bonjour,
je suis très perplexe
J'aimerai mettre un site en ligne mais j'ose pas encore

C'est un site de petites annonces et j'ai des problèmes avec les mail de confirmation, vous connaissez le truc j'envoi un mail avec une URL pour confirmer l'adresse mail et un message de remerciement

Mais comment ça marche tous ça ?

J'ai fais quelques test :
Avec mon adresse mail de mon nom de domaine ça fonctionne
Yahoo.fr ça marche aussi hotmail.com il les envois dans le courrier indésirable free.fr et voila.fr Aol.fr ou aol.com ça marche pas

C'est très contraignant il y a une solution pour que ça fonctionne avec toutes les boite mail ?

Moi j'utilise la fonction sendEmail c'est peut être pas comme ça qu'il faut faire ?

Code :
  1. function sendEmail($aTo, $aFrom, $aSubject, $aBody)
  2. {
  3. global $set_ini_smtp, $quiet,$from_address_mail;
  4.     if (!$aFrom){die(failMsg("No sender (Code #100)","No sender is specified." ));}
  5.     if (!$aTo){die(failMsg("No reciept (Code #101)","No recipient is specified." ));}
  6.     if (!$aSubject){die(failMsg("No subject (Code #102)","No subject is specified." ));}
  7.     if (!$aBody){die(failMsg("No body (Code #103)","Nobody is specified." ));}
  8.     if ($set_ini_smtp)
  9.         ini_set("SMTP",$set_ini_smtp);
  10.     $aBody = str_replace("<br>","\r\n",$aBody);
  11.     $headers = "From: $aFrom\r\n";
  12.     if (!$quiet)
  13.     {
  14.     if (!validateEmail("$aTo" ))
  15.             die(failMsg("Problem sending mail","Email address TO: '$aTo' does not appear to be a valid email address." ));
  16.         if (!validateEmail("$aFrom" ))
  17.             die(failMsg("Problem sending mail","Email address FROM: '$aFrom' does not appear to be a valid email address." ));
  18.         if (!mail("$aTo", "$aSubject","$aBody","From: $aFrom\r\n" ))
  19.             die(failMsg("Problem sending mail","For some reason, one or more emails were not sent. To: $aTo, From: $aFrom, Subject: $aSubject" ));        }
  20.     else
  21.     {
  22.         mail("$aTo", "$aSubject","$aBody","From: $aFrom\r\n" );
  23.         //mail("$aTo", "$aSubject","$aBody","From: $aFrom<$aFrom>\nX-Mailer: PHP 4.x\r\n\r\n" );
  24.     }
  25.     return true;
  26. }


Merci pour vos conseils
Cordialement

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

Yo!

C'est assez laid et lourd comme code... La fonction mail(); de PHP envoie des e-mails, mais il faut qu'elle soit activée sur le serveur. Pour faire une confirmation d'inscription, il faut que tu génères une clef aléatoire de beaucoup de caractères variés (pour éviter les répétitions). Dans la table SQL de tes utilisateurs, rajoute un champ "confirm", initialisé à 0 lors de l'inscription et un champ "clef" avec la clef générée. Quand l'internaute s'est inscrit, envoie un mail grâce à mail(); avec prière de cliquer sur le lien (lien de la forme confirm.php?clef=ezqygfqygezflqz). Sur la page confirm.php, un script cherchera la clef dans la table des utilisateurs pour changer la valeur du champ "confirm" en 1 si il ne l'est pas déjà, et ainsi valider définitivement l'inscription!

La fonction mail(); est censée marcher pour toutes les boites... à condition que toutes les informations soient correctes :D

Répondre à demo_jouable

Ah ouai tu le trouve lourd et laid ce code ?
Alors là je t'avous que je suis vraiment perdu !

Quel serait tes conseils tu pense que je ne peux pas adapter ce code voir le modifier pour que ça passe ?

Il faut tout refaire ?

Répondre à marquito

Non non pas du tout. Le problème est que tu as 50000 vérifications pour le cas où tu n'ai pas mis de sujet, de titre, de contenu, etc... Et je pense que les gens qui remplissent ce genre de formulaire sont assez intelligents pour se rendre compte qu'un mail sans contenu, ou sans e-mail ne ressemble pas à grand chose...

Je te conseille d'utiliser tout bêtement la fonction mail(); plutôt que de t'embêter à utiliser une fonction lourde qui ne fait que gaspiller des lignes. Tout ce fatras se résume à :

mail($aTo,'$aSubject','$aBody','From: '.$aFrom);


Pour garder les mêmes variables :)

Répondre à demo_jouable

Merci pour tes conseils :)

mais le truc que je ne pige pas !!
Pourquoi avec mon adresse de nom de domaine et mon adresse yahoo.fr je reçois les mails sans probleme avec hotmail.com ils arrivent dans l'indésirable et ne parlons pas de voila, free ou aol ou je ne reçois rien !

Pourquoi mes mail sont considéré comme des spam :pfff:

Comment faire un code pour toutes les boites moi je peux pas deviner qui va remplir le formulaire et encore moins sur quelle boite il faut que j'envois :ouch: ?

oulla c'est compliqué cette affaire :pt1cable:


Message édité par marquito le 04-07-2007 à 20:36:51
Répondre à marquito

Mmh peut-être que les mails sont arrivés seulement après sur free aol et voila... tu as pensé à vérifier une journée après?

Sinon le message est dans le courrier indésirable parce que l'hébergeur le considère comme tel... Ca m'est déjà arrivé de devoir repêcher des mails de validations d'inscription dans la corbeille alors que c'était des sites importants. Il faut juste que tu préviennes les internautes qu'ils pourraient recevoir l'e-mail dans le courrier indésirable xD.

Sinon vérifie si les mails ne sont pas arrivés en retard sur free, voila et aol et reconfirme-moi ça :)

Répondre à demo_jouable

Malheureusement le trio cité n'arrivent nulle part

je me demande si ça ne vient pas du fichier langage

Code :
  1. $la_new_user_mail_msg_val = "<br>Bonjour,<br><br>Avant de vous identifier comme membre et déposer vos annonces, vous devez confirmer votre adresse E-mail en cliquant sur le lien ci-dessous:<br>";
  2. $la_new_user_mail_msg2_val = "%1%<br><br>Cordialement<br>%2%";



et dans le fichier fonction

Code :
  1. $aBody = str_replace("<br>","\r\n",$aBody);



les boites n'interpretes peut etre pas de la même manière les balises ?


Message édité par marquito le 05-07-2007 à 12:32:02
Répondre à marquito
Tom's Guide > Forum > Programmation > Boites e-mail sélectives
Aller à :

Il y a 1240 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens