Envoi de licences automatiques par mail via script PHP pose problème.
Nebuchad34
Membre
Bonjour,
J'utilise le script PHP d'AquaticPrime pour générer les licences automatiquement après achat sur paypal et les envoyer au client.
Le script fait plutôt bien son boulot puisque, de mon côté, je reçois parfaitement en copie les mails contenant les licences.
Malheureusement, pas mal de mes clients, eux, ne reçoivent jamais leurs licences (bien qu'elle leur ait été envoyée, et cela représente 50% de mes clients qui ne reçoivent rien).
De deux choses l'une :
- je n'ai aucun moyen de savoir si ils l'ont bien reçu et je le découvre dans les mais qu'ils m'envoient pour me dire "Je n'ai pas reçu ma licence".
- pourquoi diable ne reçoivent ils pas un mail qui leur a été envoyé ???
Le problème survient pour différents serveurs de courrier : gmail.com, free.fr, mais de manière assez aléatoire.
Si quelqu'un a une explication et surtout une solution, je suis preneur.
J'utilise le script PHP d'AquaticPrime pour générer les licences automatiquement après achat sur paypal et les envoyer au client.
Le script fait plutôt bien son boulot puisque, de mon côté, je reçois parfaitement en copie les mails contenant les licences.
Malheureusement, pas mal de mes clients, eux, ne reçoivent jamais leurs licences (bien qu'elle leur ait été envoyée, et cela représente 50% de mes clients qui ne reçoivent rien).
De deux choses l'une :
- je n'ai aucun moyen de savoir si ils l'ont bien reçu et je le découvre dans les mais qu'ils m'envoient pour me dire "Je n'ai pas reçu ma licence".
- pourquoi diable ne reçoivent ils pas un mail qui leur a été envoyé ???
Le problème survient pour différents serveurs de courrier : gmail.com, free.fr, mais de manière assez aléatoire.
Si quelqu'un a une explication et surtout une solution, je suis preneur.
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
- L'IP de la machine qui envoie les mails a-t-elle un enregistrement DNS PTR valide (aka a-t-elle un "reverse" DNS) ?
- L'IP de la machine n'est-elle pas dans une plage d'adresses blacklistées (cas fréquent des IP attribuées par les FAI) ?
- L'adresse de l'expéditeur du message telle qu'elle apparait dans l'enveloppe et le header du mail existe-t-elle ?
- Y-a-t-il un enregistrement SPF valide sur le domaine de l'expéditeur du mail ?
Pour maximiser le taux de réussite lors d'envoi de mails, il faut répondre (oui, non, oui et oui) à ces questions... Je ne pense en effet pas que le problème soit le script PHP, mais l'interception et le classement des mails en tant que SPAM...
- reverse DNS --> What the fuck is that ?? et comment je fait pour le mettre en place.
- IP de la machine, quelle machine ? L'envoi est fait depuis mon hébergement 90 plan chez OVH.
- oui l'adresse de l'expéditeur existe. C'est tout simplement l'Adresse de contact de mon site : contact---at---cocoatreeapplications.com
- enregistrement SPF -- > What the fuck is that (again) ??
Quand dans un terminal sur ton Mac tu fais "host IPDELAMACHINE" avec "IPDELAMACHINE" = L'adresse IP de la machine chez OVH sur laquelle est hébergé le site, ça donne quoi ?
Edit: Bon, je viens de le faire et c'est bon:
franck@zeus:~$ host 213.186.33.2
2.33.186.213.in-addr.arpa domain name pointer cluster002.ovh.net.
Un truc débile qui sert pour détecter si les mails sont bien expédiés par une machine légitime (vis à vis de l'adresse e-mail de l'expéditeur) et dont se servent notamment Gmail, yahoo et hotmail pour détecter les spams... Voir : http://fr.wikipedia.org/wiki/Sender_Policy_Framework
Mais alors pourquoi mes mails sont ainsi filtrés ??
Le plus curieux, c'est que lorsque je réponds à mes clients via Mail.app en attachant la même licence, ils reçoivent toujours mes courriers. Pourquoi les courriers automatiques sont-ils filtrés ?
Au boulot, accessoirement à ma job principal (développement en C++), je m'occupe de l'architecture Mail de la boite (3000 comptes, car on propose de l'hébergement de mails mutualisé), et c'est un vrai casse tête pour que tout marche... Il y a tellement de filtres différents selon les destinataires qu'il devient impossible de faire un truc qui marche à tous les coups, tout simplement...
à la question
L'adresse IP de cocoatreeapplications.com est 213.186.33.2.
Ce serveur envoie t-il le courrier de cocoatreeapplications.com ?
la réponse était NON, je l'ai passé à OUI.
Est-ce que tu penses que ça pourrait venir de là ?
Tu peut donc te permettre d'envoyer un mail au support pour demander un coup de main. Sinon colle nous les entête du mail de copie que tu ressoit histoire de vérifier les info présente et voir ce qui peut poser problème (cmd shift H dans Mail)
De : contact__ at __cocoatreeapplications.com
Objet : Poker Manager License For *****
Date : 18 avril 2010 12:52:45 UTC-04:00
À : ******@orange.fr
Return-Path: <bounce-id=d108=u78888.90plan.ovh.net=1271609568347166071@82.mail-out.ovh.net>
Delivered-To: paiement__ at __cocoatreeapplications.com //mail auquel je reçois les copies de mail de licences.
Received: from b0.ovh.net (HELO queue) (213.186.33.50) by b0.ovh.net with SMTP; 18 Apr 2010 16:52:50 -0000
Received: from 82.mail-out.ovh.net (178.32.126.88) by mx1.ovh.net with SMTP; 18 Apr 2010 16:52:48 -0000
Received: (qmail 16713 invoked by uid 0); 18 Apr 2010 16:52:50 -0000
Received: from gw1.ovh.net (HELO 90plan.ovh.net) (213.251.189.201) by 82.mail-out.ovh.net with SMTP; 18 Apr 2010 16:52:48 -0000
Received: by 90plan.ovh.net (Postfix, from userid 78888) id AD071BB88; Sun, 18 Apr 2010 18:52:45 +0200 (CEST)
X-Mailer: PHP/4.4.9
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="NmNlZDFjYjI5NTcwZjcwNzYwYTY2NDM1YWUwNDk5ZDU="
Content-Transfer-Encoding: 7bit
Message-Id: <20100418165245.AD071BB88@90plan.ovh.net>
X-Ovh-Tracer-Id: 4098275661995431037
X-Ovh-Tracer-Id: 4098275661337770109
X-Ovh-Remote: 178.32.126.88 (82.mail-out.ovh.net)
X-Ovh-Local: 213.186.33.29 (mx1.ovh.net)
X-Spam-Check: DONE|U 0.5/N
Si le titre du message de Paypal est...
"Avis de réception d'un paiement" -> Payé avec le compte PayPal.
"Paiement reçu de la part de XXX" -> Payé par carte.
Déjà , jette un oe“il à ce fil de discussions. La solution adoptée par Louka et moi est d'afficher une alerte JavaScript pour que les clients reviennent d'eux-mêmes sur le site à la fin de la transaction. C'est une solution qui fonctionne bien (seulement 1 licence sur 30 à envoyer à la mano).
File-moi ton adresse e-mail pour que je donne le script PHP d'AquaticPrime débogué (qui accepte les caractères accentués).
Pour le script de PHP et les accents, là je comprends pas. Je l'avais modifié et chez moi les accents passent (sur mail.app)
Mais si je vais sur GMail, ça merde.
Tu peux m'envoyer un mail à contact ---at--- cocoatreeapplications.com
Et Merci !.
Diable.
Et le notify_url, il sert à quoi ?
J'ai plusieurs sites et j'ai pas de soucis. Dés que le paiement est effectué, paypal appelle l'URL mentionnée (paypal_ipn) et celle-ci fait son boulot (changement dans la DB, envoi email...etc).
EDIT : je parle d'une solution perso ici, mais cette adresse doit pouvoir être ajoutée à votre script.
Franchement, je n'ai pas envie d'investir des heures de mon temps dans IPN qui est quand même fort compliquée, ni même dans quoi que ce soit qui concerne PayPal, qui est une boà®te d'une arrogance rare.
Quelqu'un a-t-il essayé Kagi, eSellerate, ou une autre solution ?
J'ai pas dit le contraire. :-*
Faut pas pousser, IPN ça peut être 50 lignes de code sur ton site. En plus, on trouve du code à la pelle là -dessus sur le net...
ça commence à me gonfler cet histoire.
Mon problème (et je pense que c'est pareil pour Nebuchad ou d'autres), c'est que je ne suis pas développeur web. Je m'y mets doucement, mais il m'est parfois difficile et long d'arriver au résultat attendu avec PHP et compagnie, et honnêtement, ça m'intéresse peu; je trouve que c'est une régression par rapport à la programmation d'applis.
Les boutons constituent une solution imparfaite mais rapide. J'ai besoin d'un code qui marche maintenant pour vendre maintenant, et je n'ai pas envie de dégager du temps pour essayer d'adapter le code de quelqu'un d'autre et reconfigurer mon compte PayPal (parce que la vraie gageur, c'est celle-là :P) et faire fonctionner l'IPN.
Je trouve ça trop "fouillis"