Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

configuration de gnus pour les mails sur le serveur local

2 réponses
Avatar
Dominique
Bonjour,
je patauge dans la configuration de gnus pour récuperer les mails
système de mon ordinateur qui me sert de serveur pour mon reseau de la
maison.
Il n'est pas allumé en permanence, donc j'essaie de créer une fonction
qui est appelée par une combinaison de touches et pas systématiquement
au lancement de gnus.
Je ne connais pas dutout le lisp, donc vraiment j'avance pas.
J'en suis à:

(defun Mails_webmed ()
(mail-sources
(list ' (directory :path "/scp:copain@192.168.1.12:BaL/")
)
)
(nnmbox "webmed"
(nnmbox-directory "BaL")
(nnmbox-get-new-mail t);
)
)
qui produit l'erreur "Wrong type argument: commandp, Mails_webmed".
Je vois que je suis très loin d'y arriver, alors je poste ce message
pour savoir si quelqu'un peut m'aider.
Merci.

2 réponses

Avatar
Manuel Giraud
Dominique writes:

Bonjour,
je patauge dans la configuration de gnus pour récuperer les mails
système de mon ordinateur qui me sert de serveur pour mon reseau de la
maison.
Il n'est pas allumé en permanence, donc j'essaie de créer une f onction
qui est appelée par une combinaison de touches et pas systémat iquement
au lancement de gnus.
Je ne connais pas dutout le lisp, donc vraiment j'avance pas.
J'en suis à:

(defun Mails_webmed ()
(mail-sources
(list ' (directory :path "/scp::BaL/")
)
)
(nnmbox "webmed"
(nnmbox-directory "BaL")
(nnmbox-get-new-mail t);
)
)
qui produit l'erreur "Wrong type argument: commandp, Mails_webmed".
Je vois que je suis très loin d'y arriver, alors je poste ce message
pour savoir si quelqu'un peut m'aider.



Oups, il y a pas mal de chose à revoir. D'abord cette erreur vient du
fait qu'emacs distingue les fonctions des commandes. Exemple:

(defun f (x)
(interactive "p")
(message "%d "(* x x)))

La partie (interactive ...) fait de f une commande. Sans ça c'est juste
une fonction qui peut être évaluée dans un morceau de code m ais pas
appelée de façon interactive avec "M-x f".

Ensuite, dans votre fonction, vous écrivez "(mail-sources ...)" mais
dans ce contexte ci c'est un appel à la fonction mail-sources qui n'est
pas une fonction mais une variable significative pour gnus. Il faut
plutôt donner une valeur à cette variable avec un "(setq mail-sou rces
...)". De plus, on fait généralement ça dans le fichier de c onfiguration
de gnus et non dans une commande. Par la suite, au moment de récupà ©rer
le courrier, si gnus n'arrive pas a récupérer une source (machine
éteinte), il proposera d'abandonner et de continuer avec les sources
suivantes.

Et finalement (et c'est certainement là qu'il va falloir le plus
réfléchir), positionner mail-sources à '((directory :path
"/scp::Bal/")) ne marchera pas directement car gnus
va chercher à utiliser le programme movemail (fourni avec emacs) qui ne
sait qu'accéder à des mailbox unix locales ou à du POP3 (bre f, ssh il
connait pas). Du coup, si vous ne pouvez pas vous payer le luxe de
mettre un service POP ou IMAP sur votre serveur, il va falloir faire un
petit script qui copie localement le contenu du répertoire "Bal" avant
d'y accéder avec la méthode directory (il y a quelques exemple de ça
dans la documentation info de gnus noeud "Mail Source Specifiers").

Dernière option (AMHA la meilleure), faire en sorte que les mails
système de votre serveur atterrissent directement dans la boite aux
lettres d'un vrai serveur mail (allumé 24h/24) et consommer les mails
depuis celui-ci (mais là on dépasse largement le cadre de gnus).

--
Manuel Giraud
Avatar
Dominique
Merci beaucoup pour votre réponse limpide.
Non mais je savais que j'en était loin, très loin.
J'ai déjà éssayé le (mail-sources avec directory :path
"/scp::BaL/), ça marche, mais gnus s'y arrète pendant
une plombe quand le serveur et éteint, je pensais donc à cette fonction,
pour le faire que je sais le serveur allumé et éviter ainsi à gnus de
s'y entêter.
A y réfléchir, ça semble quand même la solution la plus simple.
Encore merci pour vous être pencher sur ma question.