Envoi de licences automatiques par mail via script PHP pose problème.

Nebuchad34Nebuchad34 Membre
02:34 modifié dans Langages Web & serveurs #1
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.

Réponses

  • zoczoc Membre
    02:34 modifié #2
    Plusieurs question:
    - 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...

  • Nebuchad34Nebuchad34 Membre
    02:34 modifié #3
    Alors, je veux bien répondre à  ces questions, mais il faudrait d'abord que je les comprenne  :D

    - 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) ??
    ;)
  • zoczoc Membre
    02:34 modifié #4
    dans 1271526320:

    - reverse DNS --> What the fuck is that ?? et comment je fait pour le mettre en place.

    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.


    - enregistrement SPF -- > What the fuck is that (again) ??

    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

  • Nebuchad34Nebuchad34 Membre
    02:34 modifié #5
    Ok, donc à  priori tout est ok c'est ça ?
    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 ?
  • zoczoc Membre
    02:34 modifié #6
    C'est une bonne question... Et c'est difficile de répondre.


    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...

  • Nebuchad34Nebuchad34 Membre
    02:34 modifié #7
    Hum, je viens d'aller dans mon Manager OVH et il y a un truc tout prêt pour générer le bon réglage "SPF"

    à  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à  ?
  • zoczoc Membre
    02:34 modifié #8
    Ca ne peut qu'améliorer les choses, c'est certain.

  • yoannyoann Membre
    02:34 modifié #9
    Normalement c'est OVH qui te gère toute cette merde. C'est gallère à  gérer un serveur mail comme la dit Zoc, mais si tu as un abonnement mutualisé chez OVH le gros avantage c'est que c'est leur boulot et pas le tiens.

    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)
  • Nebuchad34Nebuchad34 Membre
    02:34 modifié #10
    Voilà  l'en-tête d'un mail de ce matin (après la modification déjà  faite sur le SPF donc)

    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
  • CéroceCéroce Membre, Modérateur
    avril 2010 modifié #11
    Pour résumer ma pensée: PayPal c'est de la merde. En particulier, leur politique fait que lorsque tes clients paient avec leur carte de crédit, ils ne sont pas redirigés automatiquement vers ton site à  la fin de la transaction " donc ton script PHP n'est pas exécuté " contrairement à  lorsqu'ils paient avec un compte PayPal.

    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).
  • Nebuchad34Nebuchad34 Membre
    02:34 modifié #12
    Oui j'avais déjà  lu ce thread.
    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 !.
  • CéroceCéroce Membre, Modérateur
    02:34 modifié #13
    J'ai complété ma réponse plus haut.
  • muqaddarmuqaddar Administrateur
    avril 2010 modifié #14
    dans 1271659743:

    Pour résumer ma pensée: PayPal c'est de la merde. En particulier, leur politique fait que lorsque tes clients paient avec leur carte de crédit, ils ne sont pas redirigés automatiquement vers ton site à  la fin de la transaction " donc ton script PHP n'est pas exécuté " contrairement à  lorsqu'ils paient avec un compte PayPal.


    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.
  • CéroceCéroce Membre, Modérateur
    avril 2010 modifié #15
    Nous n'utilisons pas IPN, mais de simples boutons. Ce que je dis sur la différence entre paiement par carte et par compte PayPal est vrai, c'est clairement écrit dans l'aide. Quand les développeurs demandent sur le forum pourquoi cette différence, on leur répond simplement: "c'est comme ça". La raison c'est que PayPal veut obliger les développeurs à  ne plus accepter que les paiements par un compte PayPal.

    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 ?
  • muqaddarmuqaddar Administrateur
    02:34 modifié #16
    dans 1271666745:

    Nous n'utilisons pas IPN, mais de simples boutons. Ce que je dis sur la différence entre paiement par carte et par compte PayPal est vrai, c'est clairement écrit dans l'aide.


    J'ai pas dit le contraire.  :-*

    dans 1271666745:

    Quand les développeurs demandent sur le forum pourquoi cette différence, on leur répond simplement: "c'est comme ça". La raison c'est que PayPal veut obliger les développeurs à  ne plus accepter que les paiements par un compte PayPal.

    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.


    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...
  • Nebuchad34Nebuchad34 Membre
    02:34 modifié #17
    J'ai encore un mail qui n'a pas été reçu par le client ce matin.
    ça commence à  me gonfler cet histoire.
  • CéroceCéroce Membre, Modérateur
    02:34 modifié #18
    dans 1271668918:

    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...

    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.
  • Nebuchad34Nebuchad34 Membre
    02:34 modifié #19
    Je suis exactement dans le même cas que Céroce. Le développement Web c'est pas trop mon truc et ça me gave vite.
    Je trouve ça trop "fouillis"
Connectez-vous ou Inscrivez-vous pour répondre.