IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Mail] "Trigger smtp" : cherche source et/ou conseils


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite Avatar de Hervé Saladin
    Homme Profil pro
    Ingénieur d'études en développement et déploiement d'applications
    Inscrit en
    Décembre 2004
    Messages
    647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur d'études en développement et déploiement d'applications
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2004
    Messages : 647
    Par défaut [Mail] "Trigger smtp" : cherche source et/ou conseils
    Bonjour à tous,
    J'ai en fait deux questions :

    - 1 : conaissez vous une source ou une classe PHP pour parser facilement les fichiers "/var/spool/mail/unuser" créés par sendmail ou postfix ?
    En effet, je n'ai ni le courage, ni le temps de développer moi-même cette classe, et puis je risque de ne pas respecter à 100% le format ... alors je me dis qu'il y peut-être quelqu'un qui l'a déjà fait avant moi et bien
    PS : si vous n'avez pas ça en PHP mais dans un autre language (qui peut tourner sous linux), c'est susceptible de m'interesser quand même, alors hésitez pas, hein !

    - 2 : voici ce que je compte faire avec cette classe, mais je ne suis pas sûr que ça soit la meilleure solution, avez-vous une meilleure idée ? :
    Dans le cadre du projet de développement d'une belle usine à gaz (je vous passe les détails), je cherche à développer des procédures qui soient déclenchées automatiquement lors de la réception d'un mail avec un format particulier (en gros, on peut voir ça comme un webservice basé sur smtp).
    Problème : les deux principaux serveurs smtp que je peux déployer sur mon serveur (sendmail ou postfix), ne gérent pas d'automatisation de cette nature, enfin du moins pas à ma conaissance ni à celle de l'admin système (mais on peut se tromper, dans ce cas merci de nous le dire )
    Ma solution : 1ere étape : créer un script (en PHP ca serait le top), qui va lire le fichier /var/spool/mail/unuser et en extraire les mails qui l'interessent pour les traiter à sa sauce.
    2e étape : planifier l'éxecution fréquente de ce script (ex : toutes les min) avec crontab
    Voila, c'est la solution que j'ai immaginé pour développer ce que j'ai appelé dans le titre de ce mail des "triggers smtp" (désolé si ça s'apelle pas comme ça) mais si vous avez une solution plus simple et/ou plus propre, ça serait super (et pour être franc ça me rassurerait, parce que là c'est un peu moyen ...).

    Je résume : une classe pour lire les fichiers dans /var/spool/mail, ou une solution plus saine d'un point de vue conceptuel.

    Si vous avez ça, j'achète $$$CASH$$$
    Merci d'avance

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    297
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 297
    Par défaut
    un SquirrelMail ne serait pas ce que tu chercherai au final?
    un système pour lire t'es mail en passant par le WEB (plutôt que POP ou IMAP)

    http://squirrelmail.org/intl/fr

    j'espère que tu trouveras matière, ou peut être une solution

  3. #3
    Membre émérite Avatar de Hervé Saladin
    Homme Profil pro
    Ingénieur d'études en développement et déploiement d'applications
    Inscrit en
    Décembre 2004
    Messages
    647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur d'études en développement et déploiement d'applications
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2004
    Messages : 647
    Par défaut
    Merci pour ta réponse,
    non, ce n'est pas un webmail ce que je recherche.
    Il ne s'agit pas de permettre à des utilisateurs de lire des mail, mais de déclencher automatiquement des procédures lorsqu'un mail arrive.
    Il s'agit de communication entre deux machines par le protocole smtp, sans aucune intervention ni consultation humaine (d'où l'expression de "webservice basé sur smtp").
    Le tout en PHP de préférence parce que c'est mon language de prédilection et que le reste de l'appli est aussi en PHP => donc plus simple pour le déploiement et la maintenance.
    Mais si je dois me taper du shell, du perl, du java ou meme du c, je le ferais c'est pas un problème.

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    297
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 297
    Par défaut
    Pour quoi pas faire une interrogation en PHP par POP3 sur la machine à interroger?

    Je pense qu'il faut vérifié le contenu (pour en transmettre un petit bout)?
    sinon, il est possible de contrôler la taille avec un simple Cron, si elle change, déclenchement des procédures.

    Je pense pas que ça te convienne, 2 machines qui communique ensemble par SMTP, je comprends mieux après re-relecture, je pense que le mieux est de récupéré la classe PHP de SquirrelMail qui permet de parser du SendMail ou du PostFix, pour qu'ensuite tu puisses crées une variable tableau en fonction du contenu du message...

    Ça ressemble à quoi un fichier généré par SendMail (ou PostFix)?
    c'est vraiment illisible?

  5. #5
    Membre émérite Avatar de Hervé Saladin
    Homme Profil pro
    Ingénieur d'études en développement et déploiement d'applications
    Inscrit en
    Décembre 2004
    Messages
    647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur d'études en développement et déploiement d'applications
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2004
    Messages : 647
    Par défaut
    Citation Envoyé par juJuv51
    Pour quoi pas faire une interrogation en PHP par POP3 sur la machine à interroger?
    J'y ai pensé, mais cela ne me convient pas trop, car il n'y a pas de serveur POP sur cette machine, et ça m'ennuie un peu d'en installer un juste pour ça, en plus j'ai peur que ça consomme trop de cpu, et puis passer par un service réseau en local, c'est quand même un comble ...
    Cela dit, je n'exclus pas cette possibilité.

    Citation Envoyé par juJuv51
    sinon, il est possible de contrôler la taille avec un simple Cron, si elle change, déclenchement des procédures.
    Oui, éventuellement pourquoi pas : ça peu économiser des ressources en ne lançant pas la procédure quand c'est inutile

    Citation Envoyé par juJuv51
    je pense que le mieux est de récupéré la classe PHP de SquirrelMail qui permet de parser du SendMail ou du PostFix
    Pas bête !
    J'espère juste que ça va pas prendre des jours à reverse-engeneerer l'appli pour comprendre comment ça marche, sinon c'est pas rentable ...

    Citation Envoyé par juJuv51
    Ça ressemble à quoi un fichier généré par SendMail (ou PostFix)?
    à un empilement de document MIME bruts de décoffrage plus les entêtes smtp, tous les mails sont entassés dans le même fichier (avec la conf par défaut de sendmail).

    Citation Envoyé par juJuv51
    c'est vraiment illisible?
    Non, ça va, je m'attendais à pire. C'est à peu près humainement compréhensible tant que ça reste des mails 'simples', c.à.d. sans images ou autres pièces jointes dedans, sinon ça te colle un énorme paquet de caracteres illisibles en plein milieu.

    Merci pour tes idées, ça fait avancer ma réflexion.
    Je pense que le top ça serait que la procédure soit déclenchée directement par sendmail, genre une approche "évenementielle" du truc, ça serait quand même le top si quelqu'un savait comment faire ça

  6. #6
    Membre émérite Avatar de Hervé Saladin
    Homme Profil pro
    Ingénieur d'études en développement et déploiement d'applications
    Inscrit en
    Décembre 2004
    Messages
    647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur d'études en développement et déploiement d'applications
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2004
    Messages : 647
    Par défaut
    Pour ceux qui sont interessés, je pense avoir trouvé mon bonheur avec le package PEAR : Mail_Mime
    Je dis bien je PENSE avoir trouvé ... j'en suis pas sûr.
    Je testes ça et je vous tiens au courant d'ici quelques jours (ou quelques semaines)
    En attendant, ma question reste ouverte, si vous avez des idées, ou mieux, si vous savez comment programmer des tâches déclenchées par sendmail, hésitez pas, je suis preneur de toute idée, tout point de vue ...

  7. #7
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    657
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 657
    Par défaut
    Salut,

    Est-ce que tu peux utiliser une adresse particulière pour ce "webservice". Apparement sendmail permet d'appeler un programme quand il reçoit un mail sur une adresse donnée.
    => http://ibgwww.colorado.edu/~lessem/p...mail/aliasing/

    As well as redirecting mail to users, aliases can redirect mail:

    * To be appended to a file.
    * To be sent to the standard input of a program.
    * To a file which contains a list of addresses for which the mail should be delivered.

    [...]

    Redirecting To Programs

    To send messages to the standard input of a program, the target of an alias must begin with a pipe character (|) followed by the full pathname of the program and it's arguments. For example, the popular mailing list manager, majordomo, uses aliases like the following:

    majordomo: "|/is/mail/majordomo/wrapper majordomo"
    En espérant que ça t'aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. cherche source
    Par benhoh dans le forum Décisions SGBD
    Réponses: 6
    Dernier message: 01/07/2004, 11h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo