Publication par email

Cette contribution ou ce plugin est en phase de test. Des bugs peuvent subsister. N’hésitez pas à les signaler dans le forum ci-dessous.

Permet de publier vos articles par email

Avertissements

Ce plugin est expérimental. Le chantier est ouvert, n’hésitez à contribuer.

Scénario d’utilisation

Claire utilise un site SPIP avec un compte auteur dans lequel elle a renseigné le champs email claire@jaimespip.org.

Elle souhaite publier des articles dans son site depuis son téléphone portable ou depuis un cybercafé douteux sans passer par l’interface web classique http://monsite.tld/ecrire/

  1. Elle se crée donc un nouvel email pour publier publication4655@gmail.com
  2. Sur gmail, elle active bien l’option IMAP pour s’authentifier à distance
  3. Sur son site SPIP, Elle configure le plugin Publication par email avec l’email publication4655@gmail.com en testant bien si l’authentification fonctionne bien
  4. Comme toutes les boites se font spammer, elle ajoute le prefixe « pub » dans la configuration du plugin. Comme cela, même si google lui envoie des messages, ils ne seront pas publiés comme articles.

Elle peut maintenant poster ces articles par email :

  1. Elle écrit un message à publication4655@gmail.com avec son email claire@jaimespip.org avec comme sujet « pub : Mon premier article SPIP »
  2. Le site recoit le message, il reconnait le préfixe pub et publie donc l’article Mon premier article SPIP en associant Claire comme auteur (puisque l’email a été envoyé depuis claire@jaimespip.org)

Claire est contente ! Elle décide d’inviter Daniel, un autre rédacteur de son site à publier par email. Inutile de toucher au plugin, il suffit juste de donner à Daniel l’email publication4655@gmail.com et le préfixe pub (qui sert aussi dans ce cas de figure de mot de passe).

Requis

Le plugin requiert l’extension php php_imap.
Cette extension est souvent activée sur les hébergeurs (vous pouvez vérifier en consultant la page ecrire/?exec=info ).
Pour les installations locales (par exemple sous Windows WAMP) il faut l’activer car elle n’est pas activée par défaut.

Configuration

Après installation du plugin, renseigner dans le panneau de configuration les paramètres de la boite email (identifiant, serveur et port, mot de passe).

Cet email doit être consultable via le protocole IMAP.
Il est conseillé de se créer une adresse email dédiée à cet usage (plutôt que d’utiliser un email personnel)

Il faut aussi renseigner :

Statut des articles importés proposé ou publié
id_rubrique id de la rubrique destination
Mot de passe (facultatif) Préfixe / Phrase secrète à ajouter dans le sujet de l’email pour qu’il soit traité par le plugin.
Si ce champs est vide, tous les emails seront importés

Lorsque vous validez votre configuration, le plugin teste si la connexion à votre boîte email est valide ou non.

Configuration IMAP

Les paramètres IMAP varient beaucoup d’un fournisseur à l’autre. Demandez au service technique, les paramètres précis.

Voici à titre d’exemple quelques paramétrages

FournisseurServeurPortDossier distantRemarques
Gmail imap.gmail.com 993/imap/ssl INBOX Activer l’IMAP dans vos préférences
free.fr imap.free.fr 143/notls INBOX
Yahoo pop.mail.yahoo.com 110/pop3/novalidate-cert INBOX Activer POP dans vos préférences
Ouvaton imap.ouvaton.coop 143 INBOX

Utilisez le forum si vous voulez compléter cette liste.

Astuce Gmail vérifie l’identité et l’IP de la personne relevant la boite. Si vous avez des difficultés de connexion, connectez-vous à votre compte gmail et validez les messages de sécurité pour autoriser le serveur sur lequel est installé le plugin à relever votre boite.

Fonctionnement

Toutes les 15 minutes, le plugin consulte les derniers messages de la boite email.

  • Si un préfixe est défini, seuls les emails comportant ce préfixe (mot de passe) seront traités.
  • Si l’email de l’expéditeur correspond à un auteur du site, il sera ajouté à l’article créé.

Pour forcer la synchronisation manuellement, vous pouvez aller dans le menu > Liste des travaux > emailtospip.

Formatage des emails

  • Si vous utilisez les raccourcis de SPIP, envoyez vos emails en format brut (texte)
  • Si vous envoyez vos emails en format HTML, le HTML sera importé tel quel. Attention : à utiliser avec précaution si vous souhaitez conserver une base de données propre.

TODO

  • En mode HTML, filtrer le texte avec la fonction sale() ou équivalent pour retrouver la formatage de SPIP
  • Gérer les emails avec des images incorporées dans le corps d’email
  • Gérer les pièces jointes
  • Gérer une pseudo syntaxe pour gérer attribuer des mots-clés ? une rubrique ? des événements ?
  • ...

Merci à Fa_b pour son travail de bêta-testeur.

Discussion

14 discussions

  • philooo

    a quand l’application iphone pour spip ? cela resoudrait tout ces problemes et en plus on pourrais ajuster tout bien comme il faut niveau mot clé, sous titre ect ect...

    enfin j’espere qu’un de ces jours quelqu’un pourra ecrireune app spip, perso, je l’acheterais directe ;)

    Répondre à ce message

  • 3

    Bonjour,

    quelle modif je puis faire pour publier directement des brèves (et seulement des brèves) par email ?

    merci pour ce plugin qui ouvre bien des horizons.

    Bionet

    • Bonsoir, pour une modification d’urgence, il faudrait sans doute modifier le fichier genie/emailtospip.php

      Lire 149 je remplacerais :

      $id_nouvel_article = sql_insertq("spip_articles",array(
      	'lang' => $lang,
      	'titre' => safehtml($sujet),
      	'id_rubrique' => $id_rubrique,
      	'id_secteur' => $id_secteur,                                              
      	'texte' => safehtml($corps),                                          
      	statut' => $import_statut,
      	'accepter_forum' => 'non',
      	'date' => $date
       )); 

      par :

      $id_nouvel_article = sql_insertq("spip_breves",array(
      	'lang' => $lang,
      	'titre' => safehtml($sujet),
      	'id_rubrique' => $id_rubrique,
      	'texte' => safehtml($corps),                                          
      	statut' => $import_statut,
      	'date_heure' => $date
       )); 

      et quelques lignes dessous :

      	'objet' => 'breve',

      En sachant qu’à la prochaine pise à jour du plugin, ce code modifié sera effacé. Ou bien en le copiant au préalable dans votre dossier squelettes/genie/emailtospip.php (mais bon ca serait mieux d’ajouter la possibilité directement dans le plugin) ;)

      Attention, pas testé, que du théorique là.

    • Bonjour Fa_b,

      merci pour ton aide. Le seul hic c’est que ça ne fonctionne pas et j’ai essayé de bidouiller un peu mais sans plus de succès. Sans les modifs j’ai bien une publi en article, mais rien à faire pour publier ces email en tant que brèves.

      De plus, le corps du message se trouve tronqué à chaque lettre accentuée, c’est dommage car le reste du message ne s’affiche pas au final. Si quelqu’un sait d’où ça peut venir je suis également preneur.

      cordialement,

      Bionet

    • J’ai compris pour les caractères accentués qui empêchent l’affichage du reste du message. J’étais en courrier HTML et il est précisé dans la doc ci-dessus que ça met le bazar.

    Répondre à ce message

  • 2

    Bjr,

    J’adore ce plugin révolutionnaire !
    En revanche, existe t il un moyen pour régler le problème des caractères accentués ?

    • vérifie si l’email est bien envoyé en unicode (utf-8).

    • Whao !
      Merci de la réponse, mais pas sûr que je puisse trouver facilement cette info sur mon Mac ni même que ce soit paramétrable !
      Je vais voir ;-)

    Répondre à ce message

  • pour les pièces jointes, il faudrait faire des bisous à cy_altern non ?

    /_plugins_/mail2img/trunk/paquet.xml – SPIP-ZONE
    http://zone.spip.org/trac/spip-zone/browser/_plugins_/mail2img/trunk/paquet.xml

    ❝Ce plugin est un « proof of concept » operationnel pour publier des images attachees a un article par PUSH.
    Parametrage du compte mail et de l’article de publication en tete du script genie/mail2img.php.
    La classe PHP embarquee dans receivemail.class.php n’est certainement pas la plus aboutie ni la plus elegante mais elle fonctionne (voir example_receivemail_class.php pour sa syntaxe).❞

    Répondre à ce message

Ajouter un commentaire

Forum sur abonnement

Pour participer à ce forum, vous devez vous enregistrer au préalable. Merci d’indiquer ci-dessous l’identifiant personnel qui vous a été fourni. Si vous n’êtes pas enregistré, vous devez vous inscrire.

ConnexionS’inscriremot de passe oublié ?

Suivre les commentaires : RSS 2.0 | Atom