SPIP - Contrib

[ar] [en] [es] [fr] [it]



Accueil du site > Outils pour plugins > Tutoriaux pour Plugins > Archives Tutoriaux pour Plugins > SPIP-Zone - archives 2005

[chantier] Faut pas pusher (installer des articles par email)

mardi 12 juillet 2005, par ben.spip. Dernier ajout mardi 12 juillet 2005


comment publier rapidement sur son site, juste en envoyant un email.


le developpement de cette contribution se passe de façon collaborative sur l’espace spip-zone et plus précisément les fichiers se trouvent ici

Le but de ce script est de permettre la proposition d’article sans se connecter a l’interface privée, mais simplement en envoyant un mail.

Il faudra faire une liste des hebergeurs ou cela fonctionne :
- ONLINE : cela ne fonctionne pas

Mise en place

- Intaller le script dans le répertoire ecrire/
- Editer les parametres qui se trouvent au debut du script :

Utilisation

Puis envoyer un email à l’adresse email qui est paramétrée ci dessus.
Dans le titre il faut mettre l’expression SPIPOUNET
Puis le corps du message sera du genre :

Ensuite allez sur la page du script pour lancer la recuperation des mails et consultez le fichier SPIP.LOG .


Répondre à cet article

  • Bonjour Tout le monde (& ben)

    a priori la contrib "faut pas pusher" que j’avais utilisée il y a longtemps, a été "désactivée" après tentative de pasage en plugin.

    es-ce récupérable ?

    Comment faire pour l’éxécuter dans le cron de spip ?

    merci

    MJ

    Répondre à ce message

    Retour au début des forums

  • Bonjour

    l’idée me plaît bien. Merci. Je serais vraiment heureux de voir débarquer un plugin...

    IDP

    Répondre à ce message

    Retour au début des forums

  • bonjour,

    Très bonne idée, mais je n’arrive pas à le faire fonctionner ; j’obtiens le message d’erreur suivant

    Fatal error : Call to undefined function : imap_open() in /var/www/free.fr/1/8/kcauzeville/ecrire/push.php3 on line 247

    Faut-il définir la fonction imap_open() quelque part ?

    Merci par avance pour vos réponses.

    Répondre à ce message

    • > [chantier] Faut pas pusher (installer des articles par email) 3 novembre 2005 07:32, par Gilles Corlobé

      Apparement, ce message d’erreur apparait lorsque PHP n’a pas été compilé avec les fonctions imap. Dans le cas de Free, il n’y a donc rien de surprenant.

      J’ai téléchargé la version Windows de PHP et j’ai le même problème. Je vais donc rechercher s’il y un moyen de contourner le problème avec une autre instruction....

      Répondre à ce message

      • > [chantier] Faut pas pusher (installer des articles par email) 4 novembre 2005 13:59, par Gilles Corlobé

        En fait, le problème ne se trouve pas au niveau de la compilation, mais du fichier de configuration php.ini. Vous me direz (et vous aurez raison) que cela ne change pas grand chose pour Free.

        Lorsque vous avez accès au php.ini (hébergement local) :
        - Pour Windows, il faut décommenter la ligne : extension=php_imap.dll .
        - Pour Linux, il faut installer le rpm php-imap ("urpmi php-imap").

        Répondre à ce message

    • Comme l’ont dit les autres, le module IMAP n’existe pas chez Free.

      Théoriquement il serait possible d’utiliser un module IMAP pur PHP tel que celui d’IlohaMail utilisé par RoundCube WebMail (-> source).

      Malheureusement, d’après mon expérience récente (hier), Free semble bloquer toutes les connexions à des serveurs IMAP depuis les pages perso, y compris imap.free.fr. Donc c’est insoluble.

      Répondre à ce message

    Retour au début des forums

  • [chantier] Faut pas pusher (installer des articles par email)

    25 janvier 2006 14:37, par survivreausida.net

    Autre bug avec la recherche de rubrique par titre : J’indique #rubrique Revue de presse, mais le GREP du script choisit la rubrique intitulé Revue de presse (1995-2002), c’est à dire les archives, au lieu de choisir celle dont le nom correspond exactement.

    Répondre à ce message

    Retour au début des forums

  • Bonjour, Tout cela fonctionne parfaitement jusqu’à l’affichage des messages récupérés. Par contre dans mon Admin, je ne vois toujours pas d’articles proposés...

    Quel est le problème selon vous ?

    merci

    Répondre à ce message

    Retour au début des forums

  • [chantier] Faut pas pusher (installer des articles par email)

    25 janvier 2006 14:30, par survivreausida.net

    J’ai les problèmes suivants en utilisant le script :
    - problème avec l’encodage de certains mails
    - le script n’efface pas les mails déjà traités
    - le script ne semble pas traiter plus d’un seul mail à la fois

    Répondre à ce message

    Retour au début des forums

  • Problème encodage Windows ?

    25 janvier 2006 13:42, par survivreausida.net

    J’envoie un article à push.php3 depuis Apple Mail 2.0 mais je me retrouve avec des gros problèmes d’encodage dans l’article une fois dans l’espace privé. Pourtant il s’agit d’un simple copier-coller.

    = ?WINDOWS-1252 ?Q ?_#titre:Un_Palestinien_atteint_du_sida_est ?= = ?WINDOWS-125

    Répondre à ce message

    Retour au début des forums

  • [chantier] Faut pas pusher (installer des articles par email)

    25 janvier 2006 13:27, par survivreausida.net

    J’ai testé ce script, c’est vraiment formidable.

    Quelques commentaires :
    - Actuellement, il faut écrire le titre d’une rubrique en toutes lettres, ce serait plus rapide de pouvoir préciser #rubrique:3 pour la rubrique n° 3. #id_rubrique serait plus consistent avec les balises SPIP
    - Par contre pour les mots-clés, ce serait pratique de les mettre en toutes lettres (#mot-cle : spip-contrib), car si tous mes articles envoyés par mail vont dans une seule rubrique, j’ai des centaines de mots-clés disponibles...
    - Ce serait bien de pouvoir préciser le #TITRE de l’article dans le sujet du message
    - Encore mieux serait la possibilité d’envoyer plusieurs articles dans un seul mail, il manque juste une balise pour séparer les articles (même si en fait #titre pourrait faire l’affaire)

    L’intérêt serait de pouvoir préparer un mail avec une revue de presse, en rajoutant quelques balises et hop ! les articles sont en ligne, au lieu de le faire article-par-article avec x recharge des pages...

    Répondre à ce message

    Retour au début des forums

  • très bonne idée... j’ai du installer l’option ssl pour que ça marche (chez l’hébergeur haisoft.fr)

    j’ai ajouté les balises surtitre et soutitre en copiant la balise titre.

    Mais ca fonctionne irrégulièrement et visiblement s’il y a plus d’un message, il n’y a plus de texte ? Et certains textes sont coupés (peut-être ceux dont le mail contenait des images, même si je les supprime ?

    merci de me dire si ca marche même avec plusieurs gros messages ?

    je ne connais pas vraiment le php, mais y-a-t-il un moyen de "nettoyer" le mail des caractères parasites, des images et autres logos ?

    bon, je sais, je pourrai l’envoyer en texte brut.. Mais je voudrais bien au contraire garder le html...

    pam

    Voir en ligne : site en chantier pour le collectif utopies

    Répondre à ce message

    • [chantier] Faut pas pusher (installer des articles par email) 11 décembre 2005 16:30, par pamillet

      première étape de résolution.

      En fait, c’est l’expression régulière dans la recherche du texte qui pose problème si le texte contient un #, ce qui est fréquent si le texte est de l’HTML avec des couleurs codées genre #FFFF00...

      j’ai commencé à regarder la doc des expressions régulière... je débute donc ce n’est pas facile..

      si je comprends bien, dans la ligne if (preg_match("/(#texte :)([^#]*)/", $messageBody,$res))

      l’expression utilisée cherche le mot "#texte" (c’est le but de la première parenthèse (#texte :), mais en s’arrêtant au prochain # (c’est le but de la deuxième ([^#]*), le ^ voulant dire exclusion, et l’étoile répétition... ????

      donc, j’ai tenté... if (preg_match("/(#texte :)", $messageBody,$res))

      mais j’ai l’impression alors que le résultat n’est pas dans $res[2].... sauf que je n’arrive pas à comprendre la structure du tableau résultat...

      merci de toute aide...

      pam

      Répondre à ce message

      • Salut.

        Essaye if (preg_match("/(#texte:)(.*)$/", $messageBody,$res)) qui devrait récupérer tout ce qui suit "#texte" dans le message.

        Nat

        Répondre à ce message

        • [chantier] Faut pas pusher (installer des articles par email) 12 décembre 2005 21:47, par pamillet

          merci, mais ca ne ramène rien... ? j’avoue que ces expressions régulières sont quand même un truc de spécialiste.... il faudrait se faire un utilitaire de test

          J’ai finalement utilisé if (preg_match("/(Texte :)([^¤]*)/i", $messageBody,$res))

          sachant qu’il y a peu de chances pour avoir le car ¤ dans un texte !

          mais c’est pas très élégant... pam

          Répondre à ce message

          • Il faut ajouter l’option qui indique que "." (n’importe quel caractère sauf fin de ligne par défaut) doit aussi "marcher" pour les fins de ligne (option "s") :

            Résultat :

            Répondre à ce message

          • Une petite amélioration :

            Résultat :

            Répondre à ce message

    Retour au début des forums

  • [chantier] Faut pas pusher (installer des articles par email)

    4 décembre 2005 00:31, par jmarc dufour

    Eh bonsoir,

    je teste cette contrib qui a l’air du tonnerre...

    - dans le sujet du mail je met : id_rubrique=2 (ou 2)

    - j’ai le bon message en retour de push qui me dit d’aller voir le "spip.log"

    - je vais voir le "spip.log" :

    Dec 04 00:17:11 84.7.244.190 (pid 3236) [PUSH] Message N°1 id_rubrique=2

    Dec 04 00:17:12 84.7.244.190 (pid 3236) [PUSH] Message N°2 2

    Dec 04 00:17:12 84.7.244.190 (pid 3236) [PUSH] nombre d’emails lus : 2

    C’est bien , et après il ne se passe rien dans la partie admin, pas de nouvel article en proposition... il est où ?

    J’ai comme l’impression d’avoir manqué une scène du film... Qu’est-ce que je n’ai pas fait.. ?

    Je suis sous Spip 1.8.2e

    ...chez Celeonet

    PS. Quel le moyen le plus rapide pour voir le "spip.log" ?

    le-clapotis

    Bon, amicalement jmarco

    Répondre à ce message

    • [chantier] Faut pas pusher (installer des articles par email) 4 décembre 2005 12:34, par jmarc dufour

      Bon,

      désolé pour le bruit, j’avais bien oublié qqchose :

      - Ecrire SPIPOUNET dans l’objet du message...

      Et c’est tout bon,

      d’ailleurs le message de retour de push.php3 est bizarrement tout noir,

      mais c’est sans importance puisqu’en "sélectionnant tout" on voit toute l’explication de l’opération,

      et surtout en admin on retrouve le fameux article en attente de validation.

      Super, donc chez Celeonet çà marche.

      merci pour cette contrib.

      @+ jmarco

      Répondre à ce message

    Retour au début des forums

  • Est ce que quelqu’un a developper quelquechose pour qu’on puisse attache a l’areticle les document joint dans l’email :)

    Ca serait l’ideal ! disons joindre un fichier zip et qu’il soit unzip et attache en documentS attaches .

    Répondre à ce message

    Retour au début des forums

  • Excellente contrib !!!

    Sauf que chez moi, ça ne fonctionne pas :

    Warning : imap_open() : Couldn’t open stream monserveurimap.tld/pop3:110 in /xx/xx/xx/push.php3 on line 247 Probleme : Certificate failure for monserveurimap.tld : unable to get local issuer certificate :

    Une idée ?

    Répondre à ce message

    • Et si je mets le port imap :

      Warning : imap_open() : Couldn’t open stream monserveurimap/pop3:143 in /xx/xx/xx/push.php3 on line 247

      Probleme : OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE ACL ACL2=UNION STARTTLS] Courier-IMAP ready. Copyright 1998-2004 Double Precision, Inc. See COPYING for distribution information.

      ...

      Répondre à ce message

    • Même problème, résolu en passant en SSL avec un certificat auto-signé

      Il faut modifier les paramètres suivants :

      // Parametrage Email
      $serverPop="";
      $user="";
      $password="";
      $port=110;
      function get_mailBox($server , $user , $passwd , $port=110){
       $mbox= imap_open("{".$server."/pop3:$port"."}", $user, $passwd) or die("Probleme : ". imap_last_error());
       return $mbox;
      }

      par :

      // Parametrage Email
      $serverPop="";
      $user="";
      $password="";
      $port=995;
      function get_mailBox($server , $user , $passwd , $port){
       $mbox= imap_open("{".$server.":".$port."/pop3/ssl/novalidate-cert}", $user, $passwd) or die("Probleme : ". imap_last_error());
       return $mbox;
      }

      Répondre à ce message

    Retour au début des forums

0 | 25



Suivre la vie du site RSS 2.0 | Plan du site | Espace privé | Charte et vie SPIP-Contrib | SPIP | L'autre.net