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

[Gnus] Multiples serveurs SMTP

5 réponses
Avatar
Denis Bitouzé
Bonjour,

notre universit=C3=A9 est r=C3=A9cemment pass=C3=A9e =C3=A0 un nouveau syst=
=C3=A8me de mails
(avec notamment un serveur d'envoi en `smtps') et, d'apr=C3=A8s ce que
j'observe, les messages que j'envoie via le serveur SMTP de mon FAI (ou
de `Gmail') ne sont jamais r=C3=A9ceptionn=C3=A9s :$

Si j'utilise le serveur (s=C3=A9curis=C3=A9 donc) de mon universit=C3=A9, l=
es messages
sont bien r=C3=A9ceptionn=C3=A9s mais, alors, je ne peux plus envoyer de ma=
ils
sous mon identit=C3=A9 personnelle (je n'aime pas =C3=A7a trop de toute fa=
=C3=A7on) :

=E2=94=8C=E2=94=80=E2=94=80=E2=94=80=E2=94=80
=E2=94=82 smtpmail-send-it: Sending failed: 553 5.7.1 <dbitouze@wanadoo.f=
r>:
=E2=94=82 Sender address rejected: not owned by user bitouze
=E2=94=94=E2=94=80=E2=94=80=E2=94=80=E2=94=80

Je cherche donc =C3=A0 avoir plusieurs serveurs SMTP mais, malgr=C3=A9 la l=
ecture
de :

=E2=94=8C=E2=94=80=E2=94=80=E2=94=80=E2=94=80
=E2=94=82 https://www.emacswiki.org/emacs/MultipleSMTPAccounts
=E2=94=94=E2=94=80=E2=94=80=E2=94=80=E2=94=80

je n'ai pas r=C3=A9ussi =C3=A0 faire g=C3=A9rer plusieurs serveurs SMTP (sa=
chant que
les couples logins/mdp sont dans un fichier `authinfo.gpg'). En
particulier, je ne comprends pas comment configurer `smtpmail-multi' (ce
que j'ai d'ailleurs, en vain, pleurnich=C3=A9 =C3=A0 l'oreille de l'auteur)=
:

=E2=94=8C=E2=94=80=E2=94=80=E2=94=80=E2=94=80
=E2=94=82 https://github.com/vapniks/smtpmail-multi/issues/4
=E2=94=94=E2=94=80=E2=94=80=E2=94=80=E2=94=80

Pour l'instant, mon `.gnus' contient des trucs du genre :

=E2=94=8C=E2=94=80=E2=94=80=E2=94=80=E2=94=80
=E2=94=82 ;; (setq
=E2=94=82 ;; send-mail-function 'smtpmail-send-it
=E2=94=82 ;; message-send-mail-function 'smtpmail-send-it
=E2=94=82 ;; user-mail-address "dbitouze@wanadoo.fr"
=E2=94=82 ;; smtpmail-starttls-credentials '(("smtp.wanadoo.fr" "465" ni=
l nil))
=E2=94=82 ;; smtpmail-auth-credentials (expand-file-name "~/.authinfo.gp=
g")
=E2=94=82 ;; smtpmail-default-smtp-server "smtp.wanadoo.fr"
=E2=94=82 ;; smtpmail-smtp-server "smtp.wanadoo.fr"
=E2=94=82 ;; smtpmail-smtp-service 465
=E2=94=82 ;; smtpmail-debug-info t
=E2=94=82 ;; starttls-extra-arguments nil
=E2=94=82 ;; starttls-gnutls-program "/usr/bin/gnutls-cli"
=E2=94=82 ;; starttls-extra-arguments nil
=E2=94=82 ;; starttls-use-gnutls t
=E2=94=82 ;; )
=E2=94=82=20
=E2=94=82 ;; (setq
=E2=94=82 ;; send-mail-function 'smtpmail-send-it
=E2=94=82 ;; message-send-mail-function 'smtpmail-send-it
=E2=94=82 ;; user-mail-address "denis.bitouze@gmail.com"
=E2=94=82 ;; smtpmail-starttls-credentials '(("smtp.gmail.com" "587" nil=
nil))
=E2=94=82 ;; smtpmail-auth-credentials (expand-file-name "~/.authinfo.gp=
g")
=E2=94=82 ;; smtpmail-default-smtp-server "smtp.gmail.com"
=E2=94=82 ;; smtpmail-smtp-server "smtp.gmail.com"
=E2=94=82 ;; smtpmail-smtp-service 587
=E2=94=82 ;; smtpmail-debug-info t
=E2=94=82 ;; starttls-extra-arguments nil
=E2=94=82 ;; starttls-gnutls-program "/usr/bin/gnutls-cli"
=E2=94=82 ;; starttls-extra-arguments nil
=E2=94=82 ;; starttls-use-gnutls t
=E2=94=82 ;; )
=E2=94=82=20
=E2=94=82 (setq
=E2=94=82 send-mail-function 'smtpmail-send-it
=E2=94=82 message-send-mail-function 'smtpmail-send-it
=E2=94=82 user-mail-address "bitouze@univ-littoral.fr"
=E2=94=82 smtpmail-starttls-credentials '(("smtps.univ-littoral.fr" "587=
" nil nil))
=E2=94=82 smtpmail-auth-credentials (expand-file-name "~/.authinfo.gpg")
=E2=94=82 smtpmail-default-smtp-server "smtp.gmail.com"
=E2=94=82 smtpmail-smtp-server "smtps.univ-littoral.fr"
=E2=94=82 smtpmail-smtp-service 587
=E2=94=82 smtpmail-debug-info t
=E2=94=82 starttls-extra-arguments nil
=E2=94=82 starttls-gnutls-program "/usr/bin/gnutls-cli"
=E2=94=82 starttls-extra-arguments nil
=E2=94=82 starttls-use-gnutls t
=E2=94=82 )
=E2=94=94=E2=94=80=E2=94=80=E2=94=80=E2=94=80

dont certaines lignes doivent d'ailleurs =C3=AAtre redondantes puisque le
fichier `authinfo.gpg' contient :

=E2=94=8C=E2=94=80=E2=94=80=E2=94=80=E2=94=80
=E2=94=82 machine imap.gmail.com login XXX-secret-login password XXX-secr=
et-password
=E2=94=82 machine webmail.univ-littoral.fr login XXX-secret-login passwor=
d XXX-secret-password port imap
=E2=94=82 machine smtps.univ-littoral.fr login XXX-secret-login password =
XXX-secret-password port 587
=E2=94=82 machine smtp.gmail.com login XXX-secret-login password XXX-secr=
et-password port 587
=E2=94=82 machine smtp.orange.fr login XXX-secret-login password XXX-secr=
et-password port 465
=E2=94=82 machine "news.eternal-september.org" login "XXX-secret-login" p=
assword "XXX-secret-password" force yes
=E2=94=82 machine news.gmane.org login "" force yes
=E2=94=94=E2=94=80=E2=94=80=E2=94=80=E2=94=80

Y aurait-il ici une bonne =C3=A2me qui aurait une d=C3=A9marche pas =C3=A0 =
pas =C3=A0 me
donner/conseiller ?

Merci d'avance.
--
Denis

5 réponses

Avatar
Sébastien Kirche
Bonjour,
Le 14 novembre 2016 à 18:55, Denis Bitouzé a dit :
Y aurait-il ici une bonne âme qui aurait une démarche pas à pas à me
donner/conseiller ?

Je croyais me rappeler que j'avais cela dans mon .gnus[¹] mais en fait
je n'utilise plus qu'une définition de serveur smtp différente en
fonction du host local (cf: les différents smtpmail-smtp-server dans un
(cond))
Une piste à creuser est peut-être du côté de gnus-alias (également dans
mon .gnus mais inactif) mais le wiki[²] ne semble pas mentionner le serveur
SMTP dans les réglages possibles.
Dans la page que tu cites[³], je pense que ce qui est le plus à même de
t'aider est l'utilisation d'un advice smtpmail-via-smtp, qui utilise les
fonctions change-smtp, set-smtp et set-smtp-ssl pour changer le serveur
SMTP en fonction du From: du mail par rapport à la liste définie dans
smtp-accounts.
Je laisse le lien vers mon .gnus, tu y trouveras peut-être des idées ? :o)
[¹] en ligne depuis fort longtemps ici : http://sebastien.kirche.free.fr/emacs_stuff/gnus.html
[²] https://www.emacswiki.org/emacs/GnusAlias
[³] https://www.emacswiki.org/emacs/MultipleSMTPAccounts
--
Sébastien Kirche
Avatar
Denis Bitouzé
Le 15/11/16 à 01h41, Sébastien Kirche a écrit :
Bonjour,

À cette heure-là, c'était le cas de le dire ! :)
Le 14 novembre 2016 à 18:55, Denis Bitouzé a dit :
Y aurait-il ici une bonne âme qui aurait une démarche pas à   pas à me
donner/conseiller ?

Je croyais me rappeler que j'avais cela dans mon .gnus[¹] mais en fa it
je n'utilise plus qu'une définition de serveur smtp différente en
fonction du host local (cf: les différents smtpmail-smtp-server dans
un (cond))

Je vois, mais ça ne peut pas m'aller car je veux pouvoir utiliser
plusieurs serveurs smtp depuis le même host local (par exemple avec sur
ordinateur portable, que je sois chez moi ou à la fac).
Une piste à creuser est peut-être du côté de gnus-ali as (également
dans mon .gnus mais inactif) mais le wiki[²] ne semble pas mentionner
le serveur SMTP dans les réglages possibles.

Oui, et je n'ai rien trouvé sur le Net à ce sujet.
Dans la page que tu cites[³], je pense que ce qui est le plus à même
de t'aider est l'utilisation d'un advice smtpmail-via-smtp, qui
utilise les fonctions change-smtp, set-smtp et set-smtp-ssl pour
changer le serveur SMTP en fonction du From: du mail par rapport à la
liste définie dans smtp-accounts.

J'ai fini par essayer l'avant-dernière configuration suggéré e :
┌────
│ (require 'cl)
│ (setq smtpmail-stream-type 'ssl) ;; If using TLS/SSL. Use C-h v smtpmail-stream-type RET to see possible values
│ (setq smtp-accounts
│ '(("" "John Doe" "default.server.com")
│ ("" "Mary Johnson" "server2.com")))
│
│ (defun my-change-smtp ()
│ (save-excursion
│ (loop with from = (save-restriction
│ (message-narrow-to-headers)
│ (message-fetch-field "from"))
│ for (addr fname server) in smtp-accounts
│ when (string-match addr from)
│ do (setq user-mail-address addr
│ user-full-name fname
│ smtpmail-smtp-user addr
│ smtpmail-smtp-server server))))
│
│ (defadvice smtpmail-via-smtp
│ (before change-smtp-by-message-from-field (recipient buff er &optional ask) activate)
│ (with-current-buffer buffer (my-change-smtp)))
│
│ (setq user-mail-address ""
│ user-full-name "John Doe"
│ smtpmail-smtp-server "default.server.com"
│ smtpmail-auth-credentials (expand-file-name "~/.authi nfo"))
└────
et, pour les smtp :
- de mon université et de gmail, ça marche ;
- de orange, ça ne marche pas : il semble que la ligne correspondante
dans mon `.authinfo' ne soit pas lue (bon, c'est « pas grave »,
utiliser celui de gmail fonctionne).
Je laisse le lien vers mon .gnus, tu y trouveras peut-être des
idées ? :o)

Merci ! :)
Je vais regarder s'il y a des choses sympathiques absentes du `.gnus' de
Fabrice Niessen :
┌────
│ https://github.com/fniessen/emacs-leuven/blob/master/gnus-leuve n.el
└────
que j'utilise déjà.
--
Denis
Avatar
S
Le 15 novembre 2016 à 10:15, Denis Bitouzé a formulé :
Je vais regarder s'il y a des choses sympathiques absentes du `.gnus'
de Fabrice Niessen :
┌────
│ https://github.com/fniessen/emacs-leuven/blob/master/gnus-leuve n.el
└────
que j'utilise déjà.

Ah, je vois qu'on a tous les deux tenté de résoudre quelques prob lèmes
identiques...mais il y a dans ce .gnus quelques solutions élégant es, comme par
exemple ce test pour conditionner l'usage de caractères unicode graphi ques
(if (char-displayable-p ?u2514) ; Box drawings.
(progn ; Tree layout using Unicode charact ers.
alors que moi je me basais simplement sur le system-name parce que la
police capable de les afficher n'était pas disponible sur toutes mes
machines.
Il faut dire que mon .gnus (tout comme mon .emacs) est un patchwork de
trucs collectés depuis des années, plutôt qu'une configurati on
raisonnée.
Merci pour cet échange d'informations très intéressant :o)
--
Sébastien Kirche
Avatar
Denis Bitouzé
Le 15/11/16 à 21h28, Sébastien Kirche a écrit :
Il faut dire que mon .gnus (tout comme mon .emacs) est un patchwork de
trucs collectés depuis des années, plutôt qu'une configura tion
raisonnée.

Dans son cas, en effet : son `.gnus' est codé et commenté en Org, avec
export en html assez impressionnant.
Merci pour cet échange d'informations très intéressant :o)

Je t'en prie :)
--
Denis
Avatar
Jean Magnan de Bornier
Le 14 novembre à 18:55:55 Denis Bitouzé à ©crit notamment:
| Bonjour,

| notre université est récemment passée à un nouveau sy stème de mails
| (avec notamment un serveur d'envoi en `smtps') et, d'après ce que
| j'observe, les messages que j'envoie via le serveur SMTP de mon FAI (ou
| de `Gmail') ne sont jamais réceptionnés :$

| Si j'utilise le serveur (sécurisé donc) de mon université, les messages
| sont bien réceptionnés mais, alors, je ne peux plus envoyer de mails
| sous mon identité personnelle (je n'aime pas ça trop de toute f açon) :

| ┌────
| │ smtpmail-send-it: Sending failed: 553 5.7.1 .fr>:
| │ Sender address rejected: not owned by user bitouze
| └────

| Je cherche donc à avoir plusieurs serveurs SMTP mais, malgré la lecture
| de :

| ┌────
| │ https://www.emacswiki.org/emacs/MultipleSMTPAccounts
| └────

| je n'ai pas réussi à faire gérer plusieurs serveurs SMTP ( sachant que
| les couples logins/mdp sont dans un fichier `authinfo.gpg'). En
| particulier, je ne comprends pas comment configurer `smtpmail-multi' (ce
| que j'ai d'ailleurs, en vain, pleurniché à l'oreille de l'auteu r) :

| ┌────
| │ https://github.com/vapniks/smtpmail-multi/issues/4
| └────

| Pour l'instant, mon `.gnus' contient des trucs du genre :

| ┌────
| │ ;; (setq
| │ ;; send-mail-function 'smtpmail-send-it
| │ ;; message-send-mail-function 'smtpmail-send-it
| │ ;; user-mail-address ""
| │ ;; smtpmail-starttls-credentials '(("smtp.wanadoo.fr" "465" nil nil))
| │ ;; smtpmail-auth-credentials (expand-file-name "~/.authinfo. gpg")
| │ ;; smtpmail-default-smtp-server "smtp.wanadoo.fr"
| │ ;; smtpmail-smtp-server "smtp.wanadoo.fr"
| │ ;; smtpmail-smtp-service 465
| │ ;; smtpmail-debug-info t
| │ ;; starttls-extra-arguments nil
| │ ;; starttls-gnutls-program "/usr/bin/gnutls-cli"
| │ ;; starttls-extra-arguments nil
| │ ;; starttls-use-gnutls t
| │ ;; )
| │
| │ ;; (setq
| │ ;; send-mail-function 'smtpmail-send-it
| │ ;; message-send-mail-function 'smtpmail-send-it
| │ ;; user-mail-address ""
| │ ;; smtpmail-starttls-credentials '(("smtp.gmail.com" "587" n il nil))
| │ ;; smtpmail-auth-credentials (expand-file-name "~/.authinfo. gpg")
| │ ;; smtpmail-default-smtp-server "smtp.gmail.com"
| │ ;; smtpmail-smtp-server "smtp.gmail.com"
| │ ;; smtpmail-smtp-service 587
| │ ;; smtpmail-debug-info t
| │ ;; starttls-extra-arguments nil
| │ ;; starttls-gnutls-program "/usr/bin/gnutls-cli"
| │ ;; starttls-extra-arguments nil
| │ ;; starttls-use-gnutls t
| │ ;; )
| │
| │ (setq
| │ send-mail-function 'smtpmail-send-it
| │ message-send-mail-function 'smtpmail-send-it
| │ user-mail-address ""
| │ smtpmail-starttls-credentials '(("smtps.univ-littoral.fr" "5 87" nil nil))
| │ smtpmail-auth-credentials (expand-file-name "~/.authinfo.gpg ")
| │ smtpmail-default-smtp-server "smtp.gmail.com"
| │ smtpmail-smtp-server "smtps.univ-littoral.fr"
| │ smtpmail-smtp-service 587
| │ smtpmail-debug-info t
| │ starttls-extra-arguments nil
| │ starttls-gnutls-program "/usr/bin/gnutls-cli"
| │ starttls-extra-arguments nil
| │ starttls-use-gnutls t
| │ )
| └────

| dont certaines lignes doivent d'ailleurs être redondantes puisque le
| fichier `authinfo.gpg' contient :

| ┌────
| │ machine imap.gmail.com login XXX-secret-login password XXX-se cret-password
| │ machine webmail.univ-littoral.fr login XXX-secret-login passw ord XXX-secret-password port imap
| │ machine smtps.univ-littoral.fr login XXX-secret-login passwor d XXX-secret-password port 587
| │ machine smtp.gmail.com login XXX-secret-login password XXX-se cret-password port 587
| │ machine smtp.orange.fr login XXX-secret-login password XXX-se cret-password port 465
| │ machine "news.eternal-september.org" login "XXX-secret-login" password "XXX-secret-password" force yes
| │ machine news.gmane.org login "" force yes
| └────

| Y aurait-il ici une bonne âme qui aurait une démarche pas à   pas à me
| donner/conseiller ?

| Merci d'avance.
| --
| Denis
Bonjour,
Confronté il y a quelque temps à un problème très voisi n j'ai fini par
adopter X-message-smtp-method, une variable à définir dans
gnus-posting-style.
Voir par exemple ici:
https://www.emacswiki.org/emacs/SendingMail#SmtpMail
--
jean