Publier vos articles par e-mail sur WordPress

Mis à jour le :

Utiliser une boîte mail privée pour publier des articles sur votre site WordPress est l’une des fonctionnalités méconnues de WordPress.

Or, elle existe depuis plusieurs années et elle est toujours présente dans WordPress 7.1. Ce tutoriel vous apprendra comment en bénéficier, et quelles précautions prendre.

Pré-requis

Au préalable, vous devez vérifier les conditions suivantes pour pouvoir envoyer vos articles par mail :

  1. Avoir créé un compte mail chez votre hébergeur ou webmail favori ;
  2. Disposer d’un accès POP3 à ce compte, de préférence chiffré (SSL/TLS), avec un simple identifiant et un mot de passe : c’est la seule méthode de relève que connaît WordPress, qui ne gère ni l’IMAP ni les autres modes d’authentification.

Étape n°1 – Configuration du serveur de mail

Connectez-vous à votre administration WordPress puis rendez-vous dans Réglages > Écriture.

Dans la section Publier par e-mail, vous allez configurer l’adresse mail qui recevra les articles. WordPress y propose trois chaînes de caractères aléatoires : servez-vous-en pour choisir une adresse difficile à deviner.

Il est donc essentiel que cette boite mail soit exclusivement réservée à cet usage !

Tout message reçu à cette adresse est en effet publié ou mis en attente de relecture, et WordPress ne vérifie pas qui l’a réellement envoyé : il se fie à l’adresse d’expéditeur indiquée dans le message, facile à falsifier. Gardez donc cette adresse secrète.

Paramétrons à présent les différents champs :

  • Serveur de messagerie : indiquez le serveur POP3 de votre messagerie, du type mail.adresse.com. Pour une connexion chiffrée, faites-le précéder de ssl://, par exemple ssl://mail.adresse.com ;
  • Port : 110 est la valeur par défaut, celle du POP3 non chiffré, qui fait circuler votre mot de passe en clair. Avec ssl://, indiquez 995, le port réservé au POP3 chiffré, ou celui que précise votre messagerie ;
  • Identifiant : saisissez votre adresse mail ;
  • Mot de passe : indiquez le mot de passe de cette boîte. WordPress l’enregistre en clair dans la base de données, raison de plus pour réserver la boîte à cet usage ;
  • Catégorie par défaut des articles envoyés par e-mail : choisissez à partir de la liste déroulante la catégorie dans laquelle seront affectés vos mails / articles ;

Pour valider, cliquez sur le bouton Enregistrer les modifications.

Écran Réglages > Écriture de WordPress : sous les listes Catégorie par défaut des articles (Actualités) et Format par défaut des articles (Par défaut), la section Publier par e-mail présente son texte d’introduction avec trois chaînes aléatoires, puis les champs Serveur de messagerie (ssl://mail.example.com), Port (995), Identifiant (blog-secret@example.com), Mot de passe masqué avec son bouton d’affichage, et la liste Catégorie par défaut des articles envoyés par e-mail réglée sur Par e-mail ; le menu latéral montre Réglages ouvert sur Écriture.
La section Publier par e-mail des réglages d’écriture, configurée pour une connexion chiffrée

Étape n°2 – Détecter les nouveaux articles reçus

Il faut savoir que WordPress ne relève pas cette boîte de lui-même : il ne le fait que lorsque l’adresse wp-mail.php de votre site est appelée.

Pour effectuer cette tâche manuellement – et donc vérifier si tout fonctionne, procédez à l’envoi d’un mail sur cette fameuse boite privée.

Indiquez dans l’objet, le titre de l’article et son contenu dans le corps de message.

Écrivez de préférence en texte brut. La fonction intégrée à WordPress ne sait pas traiter les pièces jointes, dont le code se retrouve tel quel dans l’article, et elle gère mal les e-mails mis en forme (HTML) : elle n’en garde que quelques balises, retire les liens, et l’article peut même rester vide.

Rendez-vous ensuite sur cet URL – prenez soin de modifier les valeurs : https://example.com/wp-mail.php

Un message vous avertira alors si le système a détecté un nouveau message ou non. Il ressemblera à ceci :

Auteur/autrice : 1

Titre publié : ARTICLE 1

Mission accomplie. Message 1 supprimé.

Le nombre affiché après Auteur/autrice est l’identifiant du compte auquel l’article est attribué, et chaque message traité est supprimé de la boîte. Si aucun message n’attend, WordPress affiche « Il ne semble pas y avoir de nouvel e-mail. » ; et si vous rechargez la page trop vite, « Les vérifications d’e-mail sont limitées à une fois toutes les 5 minutes. »

2 cas de figures sont alors possible :

  1. L’article passera sur l’état Publié si l’adresse de l’expéditeur est celle d’un compte de votre site (Comptes > Tous les comptes) autorisé à publier, c’est-à-dire avec le rôle Auteur/autrice, Éditeur/éditrice ou Administrateur/administratrice ;
  2. L’article passera sur l’état En attente de relecture si l’adresse est inconnue, auquel cas il est attribué au compte d’identifiant 1 (celui créé à l’installation de WordPress), ou si le compte n’a pas le droit de publier (rôle Contributeur/contributrice).

Pour automatiser la relève, programmez une tâche planifiée (cron) qui appelle l’adresse wp-mail.php de votre site à intervalle régulier, par exemple toutes les 15 minutes, sur votre serveur ou depuis le panneau de votre hébergeur s’il le propose (je montre comment créer une telle tâche pour automatiser une sauvegarde intégrale avec les tâches cron de cPanel). La commande à exécuter ressemble à ceci, en remplaçant example.com par votre domaine :

curl --silent --output /dev/null https://example.com/wp-mail.php

Inutile de viser plus court que 5 minutes : WordPress refuse les relèves plus rapprochées.

Aller plus loin avec Postie

Il existe un plugin pour remplacer le système fourni par le fichier wp-mail.php intitulé Postie. Toujours maintenu, il relève les boîtes POP3 comme IMAP, en connexion chiffrée SSL/TLS, vérifie la boîte automatiquement à l’intervalle de votre choix, ajoute les images et autres pièces jointes à l’article, retire les signatures et permet de choisir qui a le droit de publier par e-mail.

Vous pouvez le télécharger gratuitement ici :

Postie

Un plugin pour autoriser la publication par mail sur WordPress.

Taille du fichier : 2,1 Mo

Si votre site utilise déjà Jetpack, son module Publier par e-mail (réglages de Jetpack, onglet Rédaction) est une autre solution : il vous attribue une adresse secrète en @post.wordpress.com, sans boîte POP3 à créer ni mot de passe à confier à WordPress, et il accepte les images et les PDF joints. Il nécessite en revanche de connecter votre site à WordPress.com ; le détail figure dans la documentation de Jetpack sur la publication par e-mail.

Ces deux extensions sont d’autant plus intéressantes que la fonction intégrée pourrait un jour disparaître : un ticket ouvert en 2012 sur l’outil de suivi du développement de WordPress propose de la retirer du cœur au profit d’extensions. Aucune échéance n’est fixée, et elle fonctionne toujours dans WordPress 7.1.

De nombreuses options de configuration avancées sont autorisées avec cette fonction de publication par e-mail. Pour le détail de chaque réglage, je vous recommande la lecture de la documentation officielle de l’écran des réglages d’écriture (en anglais). Cette méthode de publication peut s’avérer pratique lors de déplacement notamment. Et vous, chers lecteurs, l’avez-vous déjà utilisée ?

Pour organiser la publication à plusieurs, apprenez à gérer votre workflow éditorial avec Edit Flow.

Avatar de Aurélien Denis

Protégez votre site WordPress

Vos données sont précieuses,
ne prenez pas le risque de tout perdre.
Confiez-moi votre maintenance !

Ces articles devraient t’intéresser…

25 réponses

  1. Avatar de Selena45
    Selena45

    Bonjour, je voudrais savoir si c’est bien la fonction, qui permet de publier les mails reçus automatiquement via des articles world press ?
    Car je reçois des news d’artistes tous les jours, et je recherche la fonction qui permet de publier ses news automatiquement sur mon site. Si vous connaissez ? Je suis à la recherche de cette fonction.
    Merci d’avance de votre aide.
    Bonne soirée
    Selena45

    1. Avatar de Aurélien Denis
      Aurélien Denis

      Oui c’est exact !

  2. Avatar de Bill Baxter
    Bill Baxter

    bonjour,
    le système fonctionne à peu près sauf pour les pièces jointes genre photos ça s’ouvre sous forme de lignes de code dans l’article…
    suis-je le seul à qui ça arrive ?
    Merci
    Jacques

    1. Avatar de Aurélien Denis
      Aurélien Denis

      Cette fonctionnalité de publication par e-mail est sans doute limitée… je ne pense pas que beaucoup de monde l’utilise par ailleurs. Je ne saurais vous répondre.

  3. Avatar de DAAGA Edouwodji
    DAAGA Edouwodji

    Je ne sais pas pourquoi quand je choisie de publier une publication sa me dit que mon compte n’est pas un compte de publication.

    1. Avatar de Aurélien Denis
      Aurélien Denis

      Je n’utilise pas cette fonctionnalité mais c’est peut être une histoire de rôle WordPress qui n’est pas assez élevé.

  4. Avatar de laurent
    laurent

    Bonjour,

    J’utilise Postie depuis plusieurs années (super pratique lorsque la connexion Internet est très mauvaise/instable)… mais les apostrophes (et certains autres caractères  » : « ,  » !  » ) disparaissent lors de la publication… et ça depuis toujours (chez moi).

    Est-ce que vous avez rencontré ce problème ?
    Avez-vous une idée pour le résoudre ?

    Merci
    Laurent

    1. Avatar de Aurélien Denis
      Aurélien Denis

      Les dernières versions de WordPress gèrent les connexions instables au niveau de l’éditeur et permettent de reprendre le contenu après une connexion Internet perdue. Sinon, à voir au niveau de l’encodage dans l’outil mentionné si on ne peut rien y faire.

    2. Avatar de Aurélien Denis
      Aurélien Denis

      Sans doute un bug d’encodage quelque part… aucune idée de dépannage à vous donner car je n’utilise pas cette fonctionnalité. 🙁

  5. Avatar de crossticks
    crossticks

    Bonjour,

    Tout d’abort un grand merci pour le travail fait au travers de ce blog qui est souvent revenu en tête de mes recherches !!!! Blog qui à souvent donné une solution à mes questions…. 😉
    Voilà j’aurai aimé savoir comment orienter un article poster par mail vers une page spécifique (pages privé) ?
    Pour moi, la config d’envoi de mail fonctionne en utilisant le plugin Postie. Les articles sont bien publiés. Mais après…..
    Merci d’avance pour les éventuelles pistes.

    1. Avatar de Aurélien Denis
      Aurélien Denis

      Merci d’apprécier ce blog ! 😎

      Par contre, je n’ai pas d’idée pour te répondre. Il faut dire que je n’utilise pas cette page. En code, ça doit pouvoir se faire je pense.

    2. Avatar de gilles
      gilles

      Bonjour,

      Je suis en train de monter un systeme de diffusion automatique par mails automatisés pour un acces privé, une solution consiste à diffuser les articles dans une catégorie qu a été privatisée en amont grace au plug in user acces manager.
      Ce n’est que de la théorie, ce n’est pas encore fonctionnel, mais je peux vous tenir informé si vous le désirez…

  6. Avatar de webdone
    webdone

    Pour ma part je comprends que cette fonctionnalité soit peu utiliser car si on a accès à Internet pour envoyer un mail autant le faire depuis l’admin….et puis j’aurais un peu peur des problèmes de mise en forme!

  7. Avatar de Sébastien
    Sébastien

    Bonjour et merci pour votre travail …

    Le pb est qu’on ne peut utiliser ces envois d’émails avec WP multiutilisateur, pour des raisons de sécurité. XML-RPC est lui aussi très insécure (parait il). Que reste t il alors ?

    Merci

  8. Avatar de Mike LaMenace
    Mike LaMenace

    bonjour j’ai essayé une bonne dizaine de fois de configurer la publication par mail mais en vain , ainsi j’aurai voulut savoir s’il était possible que étant en locale sur mamp cela ne marche pas ?
    Et pouvez vous me dire si j’ai bien configurer le serveur de messagerie (pop.gmail.com) et mon adresse mail ([email protected]) suivie de mon mot de passe parce que je ne men sort pas du tout malgré tout les tutoriel que j’ai pu lire sur ce sujet
    merci d’avance pour vos réponse que j’attends patiemment
    cordialement mike

    1. Avatar de Aurélien Denis
      Aurélien Denis

      Oui en local je n’ai jamais essayé. Il doit falloir configurer plus de choses au niveau serveur.

  9. Avatar de Frederic Sidler
    Frederic Sidler

    Très utile si on n’a pas d’accès à internet et un client mail lourd

  10. Avatar de WPWebHost
    WPWebHost

    Great post. But there are chances of having distorted alignment especially with images posting.

  11. Avatar de actutechno
    actutechno

    he vous pouvez me dire les imformation qu’il faut mettre pour un compte hotmail.

    1. Avatar de Claude
      Claude

      Bonjour…

      … s’il vous plaît…

      Merci

      La politesse est en option ?

  12. Avatar de christophe
    christophe

    Bonsoir,
    cet article tombe bien car je n’ai jamais compris l’utilité de cette fonction (que l’on retrouve aussi sur Posterous au passage).

    Pouvez-vous m’éclairer svp ?

    Merci.

    1. Avatar de Aurélien Denis
      Aurélien Denis

      C’est utile pour publier en masse par exemple sans accès à l’admin depuis un mobile ; on peut imaginer le cas d’un journaliste.

  13. Avatar de lashonwp
    lashonwp

    Salut Aurélien
    Il y a quand même un gros souci avec cette fonction : la mise en page
    Le code injecté n’est pas très propre et pas conforme à une bonne mise en page.

    1. Avatar de Aurélien Denis
      Aurélien Denis

      Je crois que l’on peut faire un peu de mise en forme avec des balises HTML de base.

  14. Avatar de Christophe
    Christophe

    Lors de déplacement, je dirais qu’il faut avoir un bon petit téléphone Android, et avec l’appli WordPress, c’est roule ma poule lol !!!
    Enfin, ça reste quand même fastidieux, mais ça fonctionne parfaitement.