Pubemail : publication par email

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

Attention, cette contribution est EN CHANTIER : elle n’est peut-être pas fonctionnelle.

Description


Le but de ce sc

Ce plugin est basé sur une précédente contribution [chantier] Faut pas pusher (installer des articles par email). Il a été développé sur la version 1.9.2e de SPIP.

L’état est encore en développement, car certaines erreurs arrivent au décodage de mails qui seraient formatés en HTML et l’interface est uniquement en Français.


Intérêt

Ce plugin permet de se passer de la connexion directe au site. Pour mon utilisation, l’accès à internet peut soit être lent, soit inexistant. Seule subsiste la possibilité d’envoyer des emails. Dans ce cas la publication par emails est la meilleure solution pour conserver une possibilité de rédaction collaborative entre des collaborateurs isolés.
e


Mise en place

L’installation est conforme au standard des plugins : il suffit de copie le répertoire pubemail dans le répertoire plugins de SPIP. Aucun autre plugin n’est requis.


Configuration

Lorsque le plugin est activé, un nouveau bouton est disponible depuis le menu de configuration. Il permet d’accéder à la saisie des paramètres de fonctionnement qui sont :
- le serveur POP à consulter et le numéro de port à utiliser
- le login utilisateur et son mot de passe sur le serveur POP
- le serveur SMTP et le numéro de port à utiliser pour envoyer un accusé de réception
- choisir la possibilité de garder les mails sur le serveur POP
- choisir le statut des articles créés : ou bien publiés directement, ou bien simplement proposés.
- choisir si spip doit accuser réception des emails en renvoyant un mail de réponse
- quel sont la rubrique par défaut et l’auteur par défaut au cas où le décodage du mail ne permette pas de le déterminer.


Utilisation

Puis envoyer un email à l’adresse email qui est paramétrée ci dessus.
Dans le sujet du message il faut mettre l’expression SPIPOUNET.
Puis le corps du message sera du genre (les balises typograhiques de SPIP sont utilisables) :

#titre:Faut pas pusher en espagnol
#rubrique:test
#lang:es
#texte: {{{Titre}}}la la
la
sdlkfmlskdfmksdf
kdfmlskdf
<code>sdffsdfsdfsdfsdsdfsdf

sdfsdfsdf

Il faut ensuite se connecter au site et aller dans l’écran de configuration du plugin où un bouton est disponible pour faire la relève du courier.


Remarques - Développements futurs

Il serait intéressant qu’on puisse joindre des documents dans le mail. La structure du mail à décoder est alors plus compliquée, mais j’ai surtout renoncé face à ma méconnaissance du mécanisme interne à SPIP pour ajouter un document à un article.
Actuellement l’interface est uniquement en Français.

Discussion

13 discussions

  • Gastronhomme

    Bonjour,

    ce plugin très intéressant est-il compatible spip2 ou spip 3 ? Cette fonctionnalité manque sur spip « de base » je trouve ;-)

    Merci

    Répondre à ce message

  • 1

    Bonjour,

    Ce plugin pourrait m’intéresser, mais je suis principalement soucieux d’avoir l’import des pièces jointes.
    Cet ajout fonctionnel est-il envisgeable ?

    • Bonjour
      En effet, c’est aussi ce qui m’intéressait à l’origine. Mais je n’ai pas réussi à tout comprendre dans les codages d’email. Je n’ai donc pas poursuivi dans cette voie.
      Je n’ai pas eu le temps de porter ce plugin sous spip 2.

      Si quelqu’un a le courage de s’y atteler, il sera le bienvenu.

    Répondre à ce message

  • Bonjour

    ce plugin répond à un besoin pour nous au comité de lutte....

    J’essaie donc de l’adapter à SPIP2 autant que faire se peut durant ces grandes vacances de l’hémisphère sud.

    J’ai rajouté les « vieilles_defs » pour avancer, mais je sèche sur les formulaires privés en particulier sur

    echo "<input type='hidden' name='action' value='modifier' />";

    que je ne retrouve nulle part dans le code de spip.... un peu d’aide serait bienvenue pour adapter ce superbe plugin (j’utilisais déjà la contrib « faut pas pusher »).

    Merci d’avance !

    Répondre à ce message

  • bonjour merci pour ce plugin.
    Prévoyez-vos la compatibilité spip 2.0 ?

    Répondre à ce message

  • Maitresinh

    joli plugin !

    en voulant faire un test de lecture, j’obtient cela :

    Fatal error : Call to undefined function : imap_open() in /mnt/137/sdc/3/1/clubrenouvier/SPIP/plugins/Pubemail_0_1/exec/pubemail_lire.php on line 316

    quid ?

    Répondre à ce message

  • Tout de suite après l’activation j’obtiens un message dans /ecrire/ ?exec=admin_plugin :
    Warning : Division by zero in /chemin/plugins/pubemail/pubemail_options.php on line 3

    Une idée ?

    merci

    Répondre à ce message

  • 1

    Une autre bizarrerie, dès que j’ai activé ton plugin la mise en page publique de mon site a été modifiée (tous les textes en gras des menus étaient en non gras). Il a fallu que j’aille jusqu’à supprimer le plugin du répertoire pour voir la mise en page du site revenir à la normale. J’imagine que c’est une question de priorité d’un fichier sur un autre, qui aurait le même nom. Ca se résout-il en modifiant le nom du fichier css du plugin ?

    Bon courage dans ton apprentissage, je t’envie ;-)

    Tina

    • Je suppose (sans en être sûr) qu’il faut plutôt chercher du côté des classes css.

    Répondre à ce message

  • 2
    Haqqtiviste

    la suite :

    quand je fais un 2e essai, on peut voir la VALUE de id_article est incrémentée (passé de 12 à 13)
    je suis pas expert en php/mysql, mais il doit y avoir un truc là

    erreur SQL :INSERT INTO spip_auteurs_articles (id_auteur, id_article) VALUES (ID_AUTEUR_PAR_DEFAUT, 13)
    • Le fait que la valeur id_article s’incrémente me parait normal : c’est l’index dans la table des articles et donc si on exécute un deuxième essai, il y a déjà eu un article d’inséré dans la table et donc l’index est incrémenté.

      Par contre dans ce cas, il y a un bug c’est que l’auteur n’a pas été trouvé sur le site spip et donc on le remplace par ID_AUTEUR_PAR_DEFAUT qui est une chaîne de caractères et donc non acceptée par SQL.

      C’est une constante qui normalement aurait du être initialisée :
      - ou bien en dur à a valeur 1 (auteur n°1) (fichier exec/pubemail_lire.php)
      - ou bien il manque un paramètre dans l’écran de config pour pouvoir choisir l’auteur par défaut.

      C’est quelque chose que je n’ai peut être pas bien expliqué, mais l’adresse mail depuis laquelle vous envoyez votre article doit correspondre à une adresse mail déclarée pour un auteur dans le site SPIP. C’est grâce à celà que le rattachement de l’article à un auteur est fait. Si ce n’est pas le cas, alors pubemail déclare ne pas savoir qui publie, et donc attribue l’article à un auteur par défaut (ce qui ne marche pas dans ce cas).

    • Haqqtiviste

      oui, j’ai remplacé en dur la valeur ID_AUTEUR_PAR_DEFAUT par $_id_auteur="1" dans le fichier pubemail_lire.php

      j’ai donc récupéré l’auteur

      Accusé de réception OK : mon site est hebergé chez tartenpion.fr et il faut mettre le smtp chez tartenpion.fr pour que ça fonctionne. Ce qui parait évident dit comme ça.

      L’effacement du message sur le serveur distant fonctionne aussi. tip top

      j’y avais pensé il y a quelques jours, comme on dit, al hamdoulillah. Louange à Dieu d’avoir permis au développeur de développer.

      à plus
      Merci à toi

    Répondre à ce message

  • 1
    Haqqtiviste

    la suite de la suite

    1. en fait, les mails sont bien récupérés par l’action sur le bouton en question, l’affichage de l’erreur intervient après.
    2. les mails ne sont pas effacés du serveur (free.fr)
    3. aucun accusé de reception mais la je ne suis pas sur de ma config
    4. l’auteur défini n’est pas pris en compte

    question : faut il que le serveur pop/smtp soit celui du compte d’hebergement ?

    merci à plus

    • mails non effacés : cela doit dépendre de la config choisie dans l’écran de paramétrage (paramètre Les mails doivent ils etre supprimes du serveur).

      Je l’ai fait exprès car cela peut être intéressant d’utiliser un compte mail déjà existant, et donc il faut pouvoir consulter ce compte tranquillement pour d’autres besoins.

      Pour l’accusé de réception, je ne l’ai pas testé chez free. Il me semble pourtant que la config de free autorise l’envoi de mails depuis PHP. Mais les serveurs SMTP font un filtrage déjà sur le nom de domaine (donc si c’est toto@free.fr pour l’adresse POP, il faut prendre le SMTP de chez free) et ensuite on peut imaginer un filtrage sur l’adresse IP du process émetteur (php du web free).
      Conclusion, il vaut peut être mieux être en free.fr d’un bout à l’autre de la config.

    Répondre à ce message

  • 1

    Juste une question avant de tester : est-il prevu de déclencher la relève automatique du courrier par cron ou spip-cron.

    Bravo en tout cas !

    • Effectivement ça serait intéressant. Mais ceci étant mon premier essai de développement, je m’en suis tenu à des fonctionnalités de base. Je n’ai jamais utilisé encore spip-cron.

      La fonction à appeler pour relever le courrier est exec_pubemail_lire(). Donc on peut peut-être l’appeller automatiquement ?

    Répondre à ce message

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom