cerhu > linux.debian.user.french

Basile Starynkevitch (06/07/2019, 13h50)
Bonjour la liste,

mon PC domestique Debian/Sid est allumé en permanence. Il est connecté à
une box pro Orange fibre-optique (livebox-cagibi.lesours, d'adresse IP
interne192.168.1.1) qui a une adresse IP fixe, et à laquelle j'accède en
permanence par l'adresse 193.248.54.187 déclarée dans le DNS comme
ours.starynkevitch.net

sur le reseau /interne/ domestique, ce même PC domestique a pour IP
192.168.1.10 et pour hostname rimski.lesours

La livebox est correctement connectée, pour le NAT, pour rediriger les
protocoles SSH, HTTP, HTTPS et SMTP-Auth exterieurs vers ce PC
rimski.lesours

Mon mél basile est hebergé chez Gandi, avec les
paramètres suivants

Compte POP/IMAP (mais si j'ai bien compris, il n'est pas utile ici)
Nom du serveur entrant mail.gandi.net
Portutiliser les paramètres par défaut
TLS ou SSL Oui
Nom d'utilisateurbasile

Compte SMTP
Nom du serveur SMTP sortant mail.gandi.net
Port 25, 465 pour SSL ou 587 pour STARTTLS
TLS ou SSL Oui
Nom d'utilisateur Identique au compte POP/IMAP
Mot de passe Identique au compte POP/IMAP

Mon domaine DNS starynkevitch.net est aussi géré par Gandi.

Et je connais bien évidemment mon mot de passe, sans bien sûr le donner ici.

Ma question est alors: comment configurer mon PC domestique rimski.ours
pour que la commande mail y marche? Et de manière plus générale et
surtout pour pouvoir envoyer des mails de manière programmatique, par
exemple avec une bibliothèque telle que vmime.org
<https://www.vmime.org/> ? Car les quelques services Web que je veux
faire tourner à la maison, je préfère les coder en C++ (ou Ocaml via
ocsigen <http://ocsigen.org/>, ou Rust ou Guile
<https://www.gnu.org/software/guile/>) qu'en PHP (language que je
déteste ardemment, même si j'ai su le pratiquer) ou Python (que je ne
veux pas apprendre)

Il y a trente ans j'avais su configurer sendmail de manière
professionnelle sur le serveur Sun, à l'époque soleil.serma.cea.fr, mais
j'ai tout oublié depuis. Et j'ai beaucoup moins de temps à y consacrer
qu'à l'époque.

Pour info, j'ai essayé sans réussir de configurer exim4 en
exim4-daemon-light mais il faut bien que je configure quelque part le
mot de passe pour envoyer du mél via SMTP vers mail.gandi.net et ça je
n'ai pas compris comment faire.

Librement.
Ph. Gras (06/07/2019, 14h50)
Salut la liste,

> Ma question est alors: comment configurer mon PC domestique rimski.ours pour que la commande mail y marche? Et de manière plus générale et surtout pour pouvoir envoyer des mails de manière programmatique, par exemple avec une bibliothèque telle que vmime.org ? Car les quelques services Web que je veux faire tourner à la maison, je préfère les coder en C++ (ou Ocaml via ocsigen, ou Rust ou Guile) qu'en PHP (language que je déteste ardemment, même si j'ai su le pratiquer) ou Python (que je ne veux pas apprendre)
> Il y a trente ans j'avais su configurer sendmail de manière professionnelle sur le serveur Sun, à l'époque soleil.serma.cea.fr, mais j'ai tout oublié depuis. Et j'ai beaucoup moins de temps à y consacrer qu'à l'époque.


ce ne sont pas la commande mail ou sendmail qui déconnent, c'est très probablement la configuration de ton postfix.

Il doit d'ailleurs y avoir un paquet d'erreurs dans tes logs de mail, sous la référence smtpd.

Jette un coup d'œil dedans avant de revenir vers nous, s'il te plaît.

Bon courage,

Ph. Gras
ajh-valmer (06/07/2019, 15h00)
On Saturday 06 July 2019 13:42:26 Basile Starynkevitch wrote:
> Ma question est alors: comment configurer mon PC domestique rimski.ours
> pour que la commande mail y marche ?


S'agit-il d'envoyer, de recevoir des mails dans un domaine intranet ?
(le réseau domestique dans ta maison 192.168.1.0).
Si oui, c'est très possible.

Quelle est cette adresse 193.248.54.187 ?

A. Valmer
Jean-Michel OLTRA (06/07/2019, 15h50)
Bonjour,

Le samedi 06 juillet 2019, Basile Starynkevitch a écrit...

> Pour info, j'ai essayé sans réussir de configurer exim4 en
> exim4-daemon-light mais il faut bien que je configure quelque part le mot de
> passe pour envoyer du mél via SMTP vers mail.gandi.net et ça je n'ai pas
> compris comment faire.


As tu essayé de configurer Postfix avec un relai (relayhost, smarthost) ?
Tu mets ensuite tes couples login/mdp sous forme, par exemple pour moi :

smtp.wanadoo.fr jm.oltra:xxxxxxxx

dans le fichier /etc/postfix/ton_fichier_sasl
Tu transformes ton_fichier_sasl en bdd avec postmap
et tu ajoutes les lignes dans /etc/postfix/main.cf :

smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/ton_fichier_sasl

Il faut installer la libsasl.

Et ça devrait le faire.
Basile Starynkevitch (06/07/2019, 16h30)
On 7/6/19 4:07 PM, Basile Starynkevitch wrote:
>> Jean-Michel OLTRA indique dans un autre message:
>> Ca devrait le faire, mais dans mon imaginaire j'aurais voulu que cette

> configuration se fasse à apt-get install time.


Et ça commence bien :-( car dpkg-reconfigure postfix me demande:

*Please select the mail server configuration type* that best meets your
needs.  ?
? ?
                    ?  No configuration: ?
                    ?   Should be chosen to leave the current
configuration unchanged.              ?
                    ?  Internet site: ?
                    ?   Mail is sent and received directly using
SMTP.                              ?
                    ? *Internet with smarthost*: ?
                    ?   Mail is received directly using SMTP or by
running a utility such           ?
                    ?   as fetchmail. Outgoing mail is sent using a
smarthost.                      ?
                    ? *Satellite system*: ?
                    ?   All mail is sent to another machine, called a
'smarthost', for delivery.    ?
                    ?  Local only: ?
                    ?   The only delivered mail is the mail for local
users. There is no network.   ?
? ?
                    ? General type of mail
configuration:                                            ?
? ?
                    ?                           No
configuration                                    ?
                    ?                           Internet
Site                                       ?
                    ?                           Internet with
smarthost                             ?
                    ?                           Satellite
system                                    ?
                    ?                           Local
only                                          ?
?

Et j'hésite déjà entre Internet with smarthost ou Satellite system. Je
dois répondre quoi?

Librement
Basile Starynkevitch (06/07/2019, 17h00)
On 7/6/19 2:47 PM, Ph. Gras écrit en me citant:
> Salut la liste,

Je rappelle à nouveau ici ce qui a été sauté et qui est pertinent dans
mon message précédent

[..]
> *TLS* ou SSL Oui
> Nom d'utilisateur Identique au compte POP/IMAP donc bien évidemment basile
> Mot de passe Identique au compte POP/IMAP


> Mon domaine DNS starynkevitch.net est aussi géré par Gandi.


> *Et je connais bien évidemment mon mot de passe*, sans bien sûr le
> donner ici.


Ma question est alors: comment configurer mon PC domestique rimski.ours
pour que la /commande/ /usr/bin/mail ou /bin/mail (ou tout
autre***/mail-user-agent/**en* *ligne de commande non-interactive*, je
n'ai pas précisément de religion, du moment qu'il y a une bonne page de
man) y marche? Et de manière plus générale et surtout pour *pouvoir
envoyer des mails de manière programmatique*, par exemple avec une
bibliothèque telle que vmime.org ? Car les quelques services Web que je
veux faire tourner à la maison, je préfère les coder en C++ avec
libonion (ou Ocaml via ocsigen, ou Rust ou Guile) qu'en PHP (language
que je déteste ardemment, même si j'ai su le pratiquer) ou Python (que
je ne veux surtout pas apprendre)
>> Il y a trente ans j'avais su configurer sendmail de manière professionnelle sur le serveur Sun, à l'époque soleil.serma.cea.fr, mais j'ai tout oublié depuis. Et j'ai beaucoup moins de temps à y consacrer qu'à l'époque.

> ce ne sont pas la commande mail ou sendmail qui déconnent, c'est très probablement la configuration de ton postfix.


*Mais je ne suis pas lié à **postfix**ou **exim4**specifiquement.
*Honnêtement dans mon cas précis, les deux sont un marton pilon pour
tuer une mouche. Mon besoin est simple: *n'importe quel mailer
Debianesque (c'est à dire une instanciation du paquet virtuel
**mail-transport-agent)**où est **/clairement documenté/**comment
configurer le mot de passe pour le service SMTP sortant* convient.
Peut-être même que nullmailer pourrait suffire, si je savais le configurer.

Je n'ai plus de religion en matière de MTA. Le réseau interne chez moi
est minuscule: 3 machines (toutes sous Debian ou dérivés: Ubuntu, Mint)
allumées toutes au plus, et parfois une tablette (connectée en Wifi
interne). Donc aucun problème de dimensionnement sérieux. Et peu de mél
en pratique reçu sur ours.starynkevitch.net (probablement, moins de un
mél par jour, et ce mél ferait moins de dix kilooctets encodé en MIME)
car mon adresse mail sur cette machine n'est pas publique et n'est /pas/
basile, mais un autre user
basilexxxyyyzzz que je ne publie jamais - je fais
attention à ce qu'il ne soit pas visible ou connu, car je suis un peu
parano sur la cybersécurité (qui est le métier du labo dont je fais
partie au CEA). Et la seule machine dont je voudrais qu'elle soit
capable d'émettre du mail programmatiquement (c'est mon véritable
besoin) est mon rimski.lesours

Bien évidemment, tous les utilisateurs domestiques à la maison ont un PC
sous Linux et leur /mail-user-agent/ est configuré pour ne pas passer
par ours.starynkevitch.net, mais directement pour adresser l'hebergeur
mél, donc le mail.gandi.net en SMTP _avec_ le mot de passe.

Le trafic mail qui est émis sur rimski.lesours est tout petit rikiki.
Principalement, celui émis par cron ou at. Pour le reste *mon
**/mail-user-ag/**/ent/****interactif**c'est **/thunderbird/*, et
j'envisage de passer à /evolution/, et les deux sont configurés pour
s'adresser en SMTP avec mot de passe directement sur mail.gandi.net.
Accessoirement, je me sens capable d'écrire un shell script utilisant
/usr/bin/mail ou autre /usr/bin/bsd-mailx. Là encore, avec un usage
/extrêmement/ occasionnel. (quelques émissions de mél par semaine et
chaque message faisant quelques douzaines de kilo-octets tout au plus).
L'usage principal serait le déboguage de mon Bismon
<http://github.com/bstarynk/bismon/> -il a une interface web avec
login-, qui devrait envoyer occasionnellement un email si on perd un mot
de passe (et je n'ai pas encore codé cette élémentaire fonctionalité,
mais j'envisage de la faire avec un popen vers un shell script
send-email-to-bismon-contributor.sh, qui lancerait /usr/bin/mail ou
/usr/bin/bsd-mailx ; ce shell script send-email-to-bismon-contributor.sh
reste à écrire, mais je pense que ça me prendrait une heure pour ce
faire, et il recevrait deux arguments (le contributeur, au sens de mon
fichier existant contributors_BM
<https://github.com/bstarynk/bismon/blob/master/contributors_BM>) de
destination du mél envoyé et le sujet de ce mél; le corps du message
étant donné par le /stdin/ de ce script.

> Il doit d'ailleurs y avoir un paquet d'erreurs dans tes logs de mail, sous la référence smtpd.


Jean-Michel OLTRA indique dans un autre message:

> As tu essayé de configurer Postfix avec un relai (relayhost, smarthost) ?
> Tu mets ensuite tes couples login/mdp sous forme, par exemple pour moi :
> smtp.wanadoo.frjm.oltra:xxxxxxxx
> dans le fichier /etc/postfix/ton_fichier_sasl
> Tu transformes ton_fichier_sasl en bdd avec postmap
> et tu ajoutes les lignes dans /etc/postfix/main.cf :
> smtp_sasl_auth_enable = yes
> smtp_sasl_password_maps = hash:/etc/postfix/ton_fichier_sasl
> Il faut installer la libsasl.


Ca devrait le faire, mais dans mon imaginaire j'aurais voulu que cette
configuration se fasse à apt-get install time.

Auto-dérision me concernant (moi Basile): qu'est-ce qu'ils sont
flemmards, ces vieux ! :-)

Mais quand vous aurez 60 ans (comme moi dans deux semaines) vous
comprendrez mieux....

Merci
Basile Starynkevitch (06/07/2019, 17h20)
On 7/6/19 4:26 PM, Basile Starynkevitch wrote:
[..]
>                     ? Satellite
> system                                    ?
>                     ?                           Local
> only                                          ?
> ?
>> Et j'hésite déjà entre Internet with smarthost ou Satellite system. Je

> dois répondre quoi?


J'ai choisi: /Internet with smarthost/.

J'essaie donc:

date +'essai de mel %c' | mail -r basile -s 'essai de
mail' basile

Mais cet essai échoue encore: mailq me donne sous root:

-Queue ID-  --Size-- ----Arrival Time---- -Sender/Recipient-------
109D550C1CF3      451 Sat Jul  6 17:01:15 basile
(SASL authentication failed; cannot authenticate to server
mail.gandi.net[217.70.178.9]: no mechanism available)
basile

-- 0 Kbytes in 1 Request.

Le message est bizarre. Si mail.gandi.net (le serveur SMTP de gandi que
j'utilise) avait rejeté l'authentification (mauvais user ou mot de
passe) je m'attendrais à une autre formulation. De quelle mécanisme
s'agit il?

Et pourtant:

J'ai un fichier:

# fichier /etc/postfix/rimski_sasl -*- conf -*-
# par Basile, en juillet 2019, voir
# [..]
# il faut lancer postmap /etc/postfix/rimski_sasl apres chaque modification
# il faut veiller à ne pas rendre ce fichier publiquement lisible!*
**mail.gandi.net basile:/LEVRAImotdepasseENCLAIR/*

J'ai bien lancé sous root la commande:

postmap /etc/postfix/rimski_sasl

mon /etc/postfix/main.cf contient bien

# fichier /etc/postfix/main.cf sur rimski
# édité manuellement par Basile en juillet 2019
# relancer le service postfix après chaque modification donc:
## Après toute modification, veillez à relancer la commande sous root
## 'service postfix reload'.

et plus loin (configuré par dpkg-reconfigure postfix probablement, sauf
ce qui est en français ou en rouge)

smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

#### modifié par Basile d'après
[..]

*smtp_sasl_auth_enable   = yes**
**smtp_sasl_password_maps = hash:/etc/postfix/rimski_sasl*

# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.

smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated
defer_unauth_destination
myhostname = rimski.lesours
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = ours.starynkevitch.net, rimski.lesours, rimski,
localhost.lesours, localhost, .lesours
relayhost = mail.gandi.net
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 192.168.1.0/9
mailbox_size_limit = 268435456
recipient_delimiter = +
inet_interfaces = all
inet_protocols = all

et j'avais pourtant bien relancé sous root:

service postfix reload

Où sont mes erreurs?

Librement
Jean-Michel OLTRA (06/07/2019, 18h10)
Bonjour,

Le samedi 06 juillet 2019, Basile Starynkevitch a écrit...

> J'ai choisi: /Internet with smarthost/.


Ok.

> J'essaie donc:


> date +'essai de mel %c' | mail -r basile -s 'essai de
> mail' basile


> Mais cet essai échoue encore: mailq me donne sous root:


> -Queue ID-  --Size-- ----Arrival Time---- -Sender/Recipient-------
> 109D550C1CF3      451 Sat Jul  6 17:01:15 basile
> (SASL authentication failed; cannot authenticate to server
> mail.gandi.net[217.70.178.9]: no mechanism available)
> basile


> *smtp_sasl_auth_enable   = yes**
> **smtp_sasl_password_maps = hash:/etc/postfix/rimski_sasl*


J'ai, en plus :
smtp_sasl_security_options =
Pas de valeur donc.

As tu installé la libsasl ?

Tu peux modifier la valeur de ton relayhost par :

mail.gandi.net:submission
Cyrille Biot (06/07/2019, 19h20)
Bonjour
Personnellement pour me simplifier la tâche j'utilise SSMTP
[..]
(désolé c'est la doc d'ubuntu mais bien faite)
ça se configure rapidement et marche bien...
Enfin pour moi, ça sufffit

(Sinon dans ton cas, je ne suis pas pro, mais peut être ton serveur
gandhi par ta machine pour serveur de mail principal et attend dans ta
zone DNS des entrées MX ... mais là c'est déjà compliqué pour moi....)

(PS désolé pour la réponse perso. ai cliqué sur le mauvais bouton... pas
l'habitude via le webmail...)
Basile Starynkevitch (06/07/2019, 20h00)
On 7/6/19 6:02 PM, Jean-Michel OLTRA wrote:

>> *smtp_sasl_auth_enable   = yes**
>> **smtp_sasl_password_maps = hash:/etc/postfix/rimski_sasl*

> J'ai, en plus :
> *smtp_sasl_security_options = *
> Pas de valeur donc.


En fait, cette ligne pour smtp_sasl_security_options en rouge a résolu
le problème. Merci beaucoup pour ton aide Jean-Michel.

> As tu installé la libsasl ?


Oui, sous les doubles formes libsasl2 & libsasl2-dev (noms des paquets
Debian) sachant que le paquet libsasl n'existe pas en Debian/Sid

> Tu peux modifier la valeur de ton relayhost par :
> mail.gandi.net:submission


Je n'ai même pas compris dans quel fichier ça doit apparaître. Pour
info, grep -rn mail.gandi.net /etc/postfix/* lancé sous root ne
mentionne que /etc/postfix/main.cf et /etc/postfix/rimski_sasl que dans
les occurrences précédemment indiquées (dans quelque message précédent
de ce fil).

Un grand merci, et bon week-end à tous!

Librement
Jean-Michel OLTRA (06/07/2019, 23h30)
Bonjour,

Le samedi 06 juillet 2019, Basile Starynkevitch a écrit...

> On 7/6/19 6:02 PM, Jean-Michel OLTRA wrote:


> > Tu peux modifier la valeur de ton relayhost par :
> > mail.gandi.net:submission


> Je n'ai même pas compris dans quel fichier ça doit apparaître. Pour info,
> grep -rn mail.gandi.net /etc/postfix/* lancé sous root ne mentionne que
> /etc/postfix/main.cf et /etc/postfix/rimski_sasl que dans les occurrences
> précédemment indiquées (dans quelque message précédent de ce fil).


Dans le main.cf. Je n'ai pas été vraiment explicite. Je suis mauvais pour
expliquer.

La ligne entière serait donc :

relayhost = mail.gandi.net:submission

(ou relayhost = [mail.gandi.net]:submission). Avec les [] il n'y a pas de
recherche du MX sur le domaine indiqué.
steve (07/07/2019, 07h40)
Salut Basile,

Je ne réponds pas exactement à ta question mais plutôt à ton besoin.
J'utilise mutt en ligne de commande pour ce genre de choses.

On peut faire des choses du genre

mutt -s "le sujet" destinataire -c "unautre" -b
"autreauchache@example" -a "/home/basile/fichier.txt"

Et cela se script très bien.

L'identifiant et le mot de passe se mettent dans un fichier texte
(/home/basile/.muttrc par exemple):

set smtp_url="smtps://LOGIN@mailserver:PORT"
set smtp_pass="le mot de passe"

C'est facile et ça évite de se prendre la tête avec la configuration
d'Exim (ou autre MTA) qui n'a rien d'évident.

J'espère que ça t'inspirera?

Steve
Basile Starynkevitch (07/07/2019, 08h00)
On 7/7/19 7:39 AM, steve wrote:
> Salut Basile,
> Je ne réponds pas exactement à ta question mais plutôt à ton besoin.
> J'utilise mutt en ligne de commande pour ce genre de choses.


Mais maintenant ça marche déjà, donc  je suis content.

Mon souci réel, c'était bien SMTP avec authentification. Et ça, c'est
résolu. Grâce à l'aide reçue hier! Merci encore une fois à tous.

> On peut faire des choses du genre
> mutt -s "le sujet" destinataire -c "unautre" -b
> "autreauchache@example" -a "/home/basile/fichier.txt"
> Et cela se script très bien.


Et dans un programme C++ utilisant vmime.org <https://www.vmime.org/>
(une bibliothèque pour envoyer du mél), tu ferais comment?

Librement
steve (07/07/2019, 08h10)
Le 07-07-2019, à 07:52:41 +0200, Basile Starynkevitch a écrit :

> On 7/7/19 7:39 AM, steve wrote:
> Salut Basile,
> Je ne réponds pas exactement à ta question mais plutôt à ton besoin.
> J'utilise mutt en ligne de commande pour ce genre de choses.
> Mais maintenant ça marche déjà, donc  je suis content.


Parfait

> Mon souci réel, c'était bien SMTP avec authentification. Et ça, c'est
> résolu. Grâce à l'aide reçue hier! Merci encore une fois à tous.
> On peut faire des choses du genre
> mutt -s "le sujet" [1]destinataire -c
> [2]"unautre" -b
> "autreauchache@example" -a "/home/basile/fichier.txt"
> Et cela se script très bien.
> Et dans un programme C++ utilisant [3]vmime.org (une bibliothèque pour
> envoyer du mél), tu ferais comment?


Aucune idée, je ne code pas de C++. Mais j'imagine que tu dois pouvoir
faire appel dans ton code à des exécutables du système (/usr/bin/mutt
ici).

PS: pas besoin de me mettre en copie, je suis abonné à la liste
Basile Starynkevitch (07/07/2019, 08h10)
On 7/7/19 7:52 AM, Basile Starynkevitch wrote:
>> On 7/7/19 7:39 AM, steve wrote:
>> Mais maintenant ça marche déjà, donc  je suis content.

> Mon souci réel, c'était bien SMTP avec authentification. Et ça, c'est
> résolu. Grâce à l'aide reçue hier! Merci encore une fois à tous.
> Et dans un programme C++ utilisant vmime.org <https://www.vmime.org/>
> (une bibliothèque pour envoyer du mél), tu ferais comment?


J'ai oublié de préciser que je ne tiens pas tant que ça à utiliser vmime
/spécifiquement/. J'ai juste besoin de coder, en C++ ou tout autre
language compilé sympa (notamment Ocaml, SBCL, Go, Rust ; mais j'ai
l'esprit ouvert vers autre chose, en restant allergique à Python & PHP),
une mini-application Web en  GPLv3+ ou mieux, qui envoie du mél en HTML5
-que je sais générer- avec des pièces jointes. Probablement dans le
style de cet exemple de libonion
<https://github.com/davidmoreno/onion/tree/master/examples/ofileserver>
(ou de celui
<https://github.com/davidmoreno/onion/tree/master/examples/fileserver> là).

Librement

Discussions similaires
plus de redirection mail chez Gandi ?

Hebergement sans être connecté chez eux..

Configuration DNS chez gandi

MX Mail secondaire chez Gandi


Fuseau horaire GMT +2. Il est actuellement 15h47. | Privacy Policy