gratifiant > linux.debian.user.french

basile (17/09/2019, 16h50)
Bonjour

Dans mon projet Bismon (GPLv3+, pas encore dans Debian) en j'ai besoin d'envoyer programmatiquement un courriel avec deux cas de figures:

un corps en HTML5, un destinataire, un CC optionel, sans attachements

un corps en HTML5, un destinataire, un CC optionel, un fichier attaché.

Le premier cas sert à implementer la fonction "forgotten password"d'un service web specialisé. J'utilise /usr/bin/mail dans sa variante BSD.

Le second cas sert à implémenter d'autres fonctionalités.. Le fichier attaché serait le plus souvent du code C, ou la sortie d'une compilation, ou un fichier .tar.gz et dans ce cas j'utilise /usr/bin/mail.mailutils

Generalement, le message SMTP ainsi automatiquement émis serait petit: une centaine de kilo-octets, et très souvent juste quelques centaines d'octets.

Le script Guile qui gère ça est send-bismon-html-email.scm etje travaille (tristement) dans un organisme public (le CEA/LIST) oùl'envoi de message automatique internes (de mon PC dans mon bureau piece 1017 à NanoInnov vers mon adresse email professionnelle basile.starynkevitch donc sur l'intranet seulement) semble être interdit. Intérieurement je me dit que le CEA marche sur la tête aux frais du contribuable européen ou français. (j'ai passé une semaine de boulot très chiant à me plier sans la contourner à cette règle que je crois débile; ça me rend de très mauvaise humeur).

J'ai donc actuellement (dans mon commit 73c5202a1157d4120ee) le code suivant

(define bm-simple-mail-program "/usr/bin/mail")
(define bm-attached-mail-program "/usr/bin/mail.mailutils")

mais connaissez vous mieux en ligne de commande?

Merci!
Daniel Caillibaud (17/09/2019, 17h00)
Le 17/09/19 =C3=A0 16:40, basile <basile=
t> a =C3=A9crit :
> Le script Guile qui g=C3=A8re =C3=A7a est send-bismon-html-email.scm et j= e travaille (tristement) dans
> un organisme public (le CEA/LIST) o=C3=B9 l'envoi de message automatique = internes (de mon PC dans
> mon bureau piece 1017 =C3=A0 NanoInnov vers mon adresse email professionn= elle
> basile.starynkevitch donc sur l'intranet seulement) semble =C3=AAt= re interdit.
> Int=C3=A9rieurement je me dit que le CEA marche sur la t=C3=AAte aux frai= s du contribuable europ=C3=A9en ou
> fran=C3=A7ais.


Non, c'est le contraire qui ne serait pas s=C3=A9rieux.

Tout envoi de mail depuis un PC devrait l'=C3=AAtre via un smtp authentifi=
=C3=A9 (je parles pas des
applis h=C3=A9berg=C3=A9es mais bien de programmes tournant sur les PC des =
utilisateurs).

Donc tu devrais plut=C3=B4t utiliser une lib qui fait du smtp, et indiquer =
dans les param=C3=A8tres de
ton appli un compte smtp qui peut envoyer du mail (=C3=A7a peut =C3=AAtre l=
e tien pour ton dev local si
tu veux tester les envois de mails).

Ou alors une passerelle chez qui tu es connu et qui accepte de relayer ton =
courrier (mais la
solution smtp est plus universelle et plus simple =C3=A0 maintenir).

--=20
Daniel

Il para=C3=AEt qu'il y a une femme qui donne naissance =C3=A0 un enfant
toutes les deux secondes.
Il faut absolument la trouver pour l'emp=C3=AAcher de continuer !
Coluche
ajh-valmer (17/09/2019, 17h20)
On Tuesday 17 September 2019 16:40:44 basile wrote:
> Dans mon projet Bismon (GPLv3+, pas encore dans Debian) en
> j'ai besoin d'envoyer programmatiquement
> un courriel avec deux cas de figures:
> un corps en HTML5, un destinataire, un CC optionel, sans attachements
> un corps en HTML5, un destinataire, un CC optionel, un fichier attaché.
> mais connaissez vous mieux en ligne de commande?


En PHP5 ce serait plus adapté, ce langage est fait pour ça.
Nécessité d'installer un serveur Web (Apache ou Nginx).
Sans doute qu'en HTML5, pas besoin d'un serveur,
mais sécurité en bémol.
fab (17/09/2019, 17h20)
'lut,

> solution smtp est plus universelle et plus simple à maintenir). J'utiliserais plutôt smtps.


f.
Daniel Caillibaud (17/09/2019, 20h10)
Le 17/09/19 =C3=A0 17:14, "ajh-valmer" <ajh.valmer> a =C3=A9crit :

> On Tuesday 17 September 2019 16:40:44 basile wrote:
>=20
> En PHP5 ce serait plus adapt=C3=A9, ce langage est fait pour =C3=A7a.


php 5 n'est plus maintenu depuis longtemps, on en est =C3=A0 php7.3.

> N=C3=A9cessit=C3=A9 d'installer un serveur Web (Apache ou Nginx).


Pas forc=C3=A9ment, php fonctionne tr=C3=A8s bien en cli.

> Sans doute qu'en HTML5, pas besoin d'un serveur,
> mais s=C3=A9curit=C3=A9 en b=C3=A9mol.


Pas compris.

Mais =C3=A7a ne r=C3=A8glera pas le pb initial qui est que le PC ne peut pa=
s envoyer de mail
via son binaire local (/bin/mail ou sendmail ou =E2=80=A6), car la fonction=
mail de php l'utilisera
aussi (je suppose que ce sont les connexions aux ports 25 distants qui sont=
bloqu=C3=A9es sur le
lan de Basile).

Pour que =C3=A7a fonctionne en php il faudra utiliser une classe php qui g=
=C3=A8re des dialogue avec
un serveur smtp (avec ou sans ssl, si le smtp est sur le lan le ssl est pas=
forc=C3=A9ment
indispensable), donc autant utiliser une lib smtp dans le langage du progra=
mme source de
l'envoi.

--=20
Daniel

Qui n'a pas recherch=C3=A9 la v=C3=A9rit=C3=A9, n'a bien s=C3=BBr jamais co=
mmis d'erreurs.
M. Saltykov-Chtehedrine
Daniel Caillibaud (17/09/2019, 20h20)
Le 17/09/19 =C3=A0 17:17, fab <regnier.fab> a =C3=A9crit :

> 'lut,
>=20
> > solution smtp est plus universelle et plus simple =C3=A0 maintenir). =20


> J'utiliserais plut=C3=B4t smtps.


C'est pareil vu du programme qui envoie (=C3=A0 priori la m=C3=AAme lib, av=
ec ou sans ssl dans les
param=C3=A8tres de connexion), et c'est pas forc=C3=A9ment indispensable si=
le smtp est sur le lan (=C3=A7a
ne prot=C3=A8ge des =C3=A9coutes indiscr=C3=A8tes que sur la partie client<=
->smtp de d=C3=A9part).

Car ssl ou pas, tant qu'un mail n'est pas chiffr=C3=A9 il est lisible en cl=
air par qqun qui peut
=C3=A9couter le r=C3=A9seau au bon endroit ou qui a un acc=C3=A8s =C3=A0 un=
e des passerelles de filtrage
(antivirus/antispam & co).

Car m=C3=AAme si ton client mail dialogue avec ton smtp en ssl pour envoyer=
un mail, rien ne garanti
que la connexion restera chiffr=C3=A9e jusqu'au MX du domaine de destinatio=
n (ton smtp peut tr=C3=A8s
bien se connecter sans ssl sur le port 25 du MX de destination, =C3=A7a d=
=C3=A9pend de leur configuration
=C3=A0 tous les deux).

--=20
Daniel

A force d=E2=80=99accepter l=E2=80=99inacceptable, on en vient =C3=A0 croir=
e que c=E2=80=99est la norme.
Jeune prof d=C3=A9missionnaire cit=C3=A9 par mediapart le 22/03/2012
ajh-valmer (17/09/2019, 20h50)
On Tuesday 17 September 2019 20:01:34 Daniel Caillibaud wrote:
> Le 17/09/19 à 17:14, <ajh.valmer> a écrit :
> > En PHP5 ce serait plus adapté, ce langage est fait pour ça.


> php 5 n'est plus maintenu depuis longtemps, on en est à php7.3 :


Coquille, je voulais écrire simplement php.
> > Nécessité d'installer un serveur Web (Apache ou Nginx).


> Pas forcément, php fonctionne très bien en cli :


Les modules PHP sont sur le serveur Web.
C'est le navigateur qui est client.

> > Sans doute qu'en HTML5, pas besoin d'un serveur,
> > mais sécurité en bémol :


> Pas compris.

Je posais la question si php était plus sécurisé que html5,
langage navigateur.
Je savais pas que html5 pouvait gérer l'envoi de mails,
le formulaire oui, mais l'envoi aussi ?
Sans doute avec la commande mail en mode console..

> Mais ça ne règlera pas le pb initial qui est que le PC
> ne peut pas envoyer de mail
> via son binaire local (/bin/mail ou sendmail ou ?),
> car la fonction mail de php l'utilisera
> aussi (je suppose que ce sont les connexions aux ports 25 distants
> qui sont bloquées sur le lan de Basile).
> Pour que ça fonctionne en php il faudra utiliser une classe php qui gère
> des dialogue avec un serveur smtp (avec ou sans ssl, si le smtp est sur le
> lan le ssl est pas forcément indispensable), donc autant utiliser une lib
> smtp dans le langage du programme source de l'envoi.


Pour que php puisse envoyer des mails,
il faut aussi un serveur de messagerie (postfix ou sendmail...).
Il n'y a pas de serveur smtp, il est incorporé dans le serveur de mails,
pas le pop, réception (service à installer, tel dovecot...).

Je préconisais un serveur Web avec les modules php, un serveur de messagerie,
mais si c'est possible en html5...
Basile Starynkevitch (17/09/2019, 21h20)
> Mais ça ne règlera pas le pb initial qui est que le PC ne peut pas envoyer de mail
> via son binaire local (/bin/mail ou sendmail ou ?), car la fonction mail de php l'utilisera
> aussi (je suppose que ce sont les connexions aux ports 25 distants qui sont bloquées sur le
> lan de Basile).


Elles ne sont pas bloquées. Elles me sont interdites par une
réglementation interne stupide. Techniquement, je peux installer un
postfix local, et je sais le faire.

Si je le faisais sans autorisation, personne ne me dirais rien..... Mais
avec l'âge je deviens parano.

Et au siècle dernier, j'étais autorisé à ce faire. J'ai même configuré
moi-même le sendmail d'un serveur Sun.

Il n'y a qu'a googler mon adresse email de l'époque:
basile : c'est moi qui avait configuré -on m'avait
donné l'ordre oral- le sendmail (oui, oui....) sur le SunOS3.5 qui
tournait sur soleil.serma.cea.fr

Contexte social supplémentaire: il y a eu il y a 12 ou 15 mois,
exactement comme c'est arrivé chez France Telecom il y a 10 ans, une
tentative de suicide dans mon bâtiment. Liée au travail. Risque Psycho
Social, selon la terminologie.

Le parallèle entre la situation du CEA/LIST (au business model
actuellement intenable) et celle de France Télécom il y a 10 ans (avec
son PDG d'alors actuellement devant les tribunaux) est frappant pour la
plupart de mes camarades syndiqués. Et pour la Cour des Comptes aussi....

Librement
Basile Starynkevitch (17/09/2019, 21h40)
On 9/17/19 9:12 PM, Basile Starynkevitch wrote:
[..]
> son PDG d'alors actuellement devant les tribunaux) est frappant pour
> la plupart de mes camarades syndiqués. Et pour la Cour des Comptes
> aussi....


Et voici un exemple de mail que je rêve d'envoyer automatiquement (de
mon poste de travail vers mon poste de travail) *à des fins de déboguage*:

Hello Basile Starynkevitch, contributor _6UYrSn7piPM_3eYhLtoXlmL of
the bismon program running on process 1234 of localhost.

Someone, perhaps you, claim to have forgotten the password for
Basile Starynkevitch on that bismon server.

To change that password, follow the URL

within five minutes

Bien sûr, le 1234 comme le _2SM7xUAM57S00f9ji2 sont fictifs, et en
réalité uniques et différents. Et je n'ai pas complètement fixé la
longueur de la chaine aléatoire _2SM7xUAM57S00f9ji2 ; probablement ca
serait plus long.

Et, précision ironique, je bosse dans un labo de sûreté du logiciel et
le développement de Bismon est financé à 100% par deux projets H2020.
J'ai lu pas mal de papier sur la cybersecurité du mél.

J'ai passé une semaine de mon temps à contourner une règle stupide....

C'est vous tous, contribuables français et européens, qui me payez (je
vous coûte environ 20k? par mois).

J'en rigole, mais jaune.

Librement
Yves Rutschle (17/09/2019, 22h10)
On Tue, Sep 17, 2019 at 08:47:09PM +0200, ajh-valmer wrote:
> > Pas forcément, php fonctionne très bien en cli :

> Les modules PHP sont sur le serveur Web.
> C'est le navigateur qui est client.


En 'cli'. CLI. Command Line Interface.

Installer un serveur Web comme solution pour envoyer des
mails, c'est créatif.

> Je savais pas que html5 pouvait gérer l'envoi de mails,
> le formulaire oui, mais l'envoi aussi ?
> Sans doute avec la commande mail en mode console..


html5 est un langage statique de description de document. Il
ne fait rien. La question d'origine est d'envoyer des mails
contenant un corps en HTML5. Envoyer un document par mail,
quoi.

Y.
Yves Rutschle (17/09/2019, 22h20)
On Tue, Sep 17, 2019 at 04:40:44PM +0200, basile wrote:
> Le script Guile qui gère ça est send-bismon-html-email.scm et je travaille (tristement) dans un organisme public (le CEA/LIST) où l'envoi de message automatique internes (de mon PC dans mon bureau piece 1017 à NanoInnov vers mon adresse email professionnelle basile.starynkevitch donc sur l'intranet seulement) semble être interdit. Intérieurement je me dit que le CEA marche sur la tête aux frais du contribuable européen ou français. (j'ai passé une semaine de boulot très chiant à me plier sans la contourner à cette règle que je crois débile; ça me rend de très mauvaise humeur).


Au final, je comprend ce que tu veux faire fonctionnellement
(envoyer un mail depuis ton programme), mais pas ce qui est
autorisé ou interdit ni comment c'est interdit.

Si je ne m'abuse, /usr/bin/mail ne fait que relayer au
MTA local, c.a.d Postfix, Exim, ou ssmtp. Dans la mesure où
tu es sur du LAN, je seconde l'opinino de ssmtp, ou d'Exim
en version 'smarthost' (je crois que l'installeur Debian
appelle ça 'satellite'), où le MTA local ne fait que passer
le mail à un MTA complet.

Ici, tu configurerais donc ssmtp ou Exim pour se logguer sur
ton serveur mail avec ton login et mot de passe, et lorsque
/usr/bin/mail est appelé il passerait le mail à ssmtp, qui
le transfèrerait au MTA de ton labo.

> mais connaissez vous mieux en ligne de commande?


Pour attacher des fichiers, je me souviens avoir utilisé
mutt, mais je pense que le fond du problème n'est pas là.

Y.
fab (18/09/2019, 09h50)
merci Daniel pour toutes ces précisions.

Tu dis que sur un lan, le ssl n'est pas forcément indispensable pour
aller sur le 1er smtp local. Quand même, sur de nombreux lan, des
machines arrivent et sortent et demain des objets connectés... Avant, on
se disait ( enfin, je me disais ;) ) : le LAN est secure et on se
protège du WAN. Maintenant, j'aurai plutôt tendance à dire, chaque
serveur est un petit bastion et doit se protéger de tous, y compris des
objets de son LAN. Mais je suis peut-être devenu un brin parano ?

Une question que je me pose: lorsqu'on dit chiffrement des mails avec
postfix, j'ai l'impression qu'on parle toujours de chiffrement des
connexions avec ssl. Mais si on veut faire le chiffrement des mails
_sur_ le serveur ou tourne postfix - ie pour que les adminsys ne
puissent pas lire les mails en clair - , emploie t-on le même
vocabulaire ? postfix a t-il un "plugin" pour chiffrer les mails ou
alors faut-il se tourner vers d'autres outils ?

Merci et bonne journée,

f.

Le 17/09/2019 à 20:12, Daniel Caillibaud a écrit :
[..]
Daniel Caillibaud (18/09/2019, 10h40)
Le 18/09/19 =C3=A0 09:47, fab <regnier.fab> a =C3=A9crit :
> Une question que je me pose: lorsqu'on dit chiffrement des mails avec=20
> postfix, j'ai l'impression qu'on parle toujours de chiffrement des=20
> connexions avec ssl. Mais si on veut faire le chiffrement des mails=20
> _sur_ le serveur ou tourne postfix - ie pour que les adminsys ne=20
> puissent pas lire les mails en clair - , emploie t-on le m=C3=AAme=20
> vocabulaire ? postfix a t-il un "plugin" pour chiffrer les mails ou=20
> alors faut-il se tourner vers d'autres outils ?


Postfix ne peut pas chiffrer les mails, un autre MTA non plus, c'est seulem=
ent le client qui
peut le faire (car la cl=C3=A9 priv=C3=A9e de chiffrement doit rester chez =
celui qui envoie le mail, et
c'est aussi lui qui conna=C3=AEt la cl=C3=A9 publique du destinataire).

C'est avec un plugin gpg dans ton courrielleur que tu peux chiffrer un mail.

--=20
Daniel

L'homme n'est pas fait pour travailler.
La preuve, c'est que =C3=A7a le fatigue.
Courteline
Tech N3 (18/09/2019, 13h10)
Salut la liste !

> Le script Guile qui gère ça est send-bismon-html-email.scm et je travaille (tristement) dans un organisme public (le CEA/LIST) oùl'envoi de message automatique internes (de mon PC dans mon bureau piece 1017 à NanoInnov vers mon adresse email professionnelle basile.starynkevitch donc sur l'intranet seulement) semble être interdit. Intérieurement je me dit que le CEA marche sur la tête aux frais du contribuable européen ou français. (j'ai passé une semaine de boulot très chiant à me plier sans la contourner à cette règle que je crois débile; ça me rend de très mauvaise humeur).


Il est absolument nécessaire de chercher à savoir pourquoi le message, tel qu'il est envoyé actuellement,
est bloqué. Ce n'est qu'ensuite qu'on cherchera la solution la plus adaptée parmi celles qui mes colistiers
ont pu donner dans les réponses précédentes.

À ce sujet d'ailleurs, la classe PHP qui permet d'envoyer des mails s'appelle PHPMailer :


Le serveur interdit-il la réception d'un message de example.com sur le serveur de example.com ?
? Le cas échéant, il n'y aura pas de solution possible.

Le serveur prend-il en charge des règles et des normes telles que SPF ou DKIM ?
? Utiliser un script tel que PHPMailer pour ajouter une signature dans le header, ou autre?

? et ainsi de suite !

Bonne journée,

Ph. Gras
Basile Starynkevitch (18/09/2019, 13h50)
On 9/18/19 1:01 PM, Tech N3 wrote:
> Salut la liste !
>> Le script Guile qui gère ça est send-bismon-html-email.scm et je travaille (tristement) dans un organisme public (le CEA/LIST) où l'envoi de message automatique internes (de mon PC dans mon bureau piece 1017 à NanoInnov vers mon adresse email professionnelle basile.starynkevitch donc sur l'intranet seulement) semble être interdit. Intérieurement je me dit que le CEA marche sur la tête aux frais du contribuable européen ou français. (j'ai passé une semaine de boulot très chiant à me plier sans la contourner à cette règle que je crois débile; ça me rend de très mauvaise humeur).

> Il est absolument nécessaire de chercher à savoir pourquoi le message, tel qu'il est envoyé actuellement,


Ce message n'est *pas* envoyé. *La réglementation interne* du CEA/LIST
*m'interdit tout envoi de message SMTP* depuis mon PC au bureau. Je râle
en bon Français mais je finis par obéir aux réglements internes
stupides, parce qu'en tant que salarié je suis /aussi/ payé pour ça.

Je respecte cette réglementation (que publiquement ici je trouve
stupide) en y ayant, sur le PC is23xxxxx.intra.cea.fr (un DELL 7920
<https://www.dell.com/fr-fr/work/shop/stations-de-travail-certifi%C3%A9es-isv-dell/precision-7920-conception-personnalis%C3%A9e/spd/precision-7920-workstation/xctopt7920emea>
sous Debian installé par mes soins) attribué par mon employeur, situé
dans le bureau 1017 du batiment 862 de CEA NanoInnov,  un fichier
~/.bismon-mail.scm contenant

;; pour le reste du monde habité, mettre cette variable à #t
(define bm-allowed-to-send-email? #f)

Mais je dois préparer une démo à Bruxelles (à la Commission Européenne)
en octobre 2019 où l'envoi de mél marche correctement. Pour cette demo,
la variable bm-allowed-to-send-email? sera mise à #t

Et pendant ce temps là, les Allemands -mes confrères de Fraunhofer
<https://www.fraunhofer.de/en.html>- travaillent à des choses réellement
utiles :-) à leurs projets collaboratifs européens. Ils coûtent aux
contribuables européens à peu près la même chose que moi (environ 20k?
par mois).

(si c'était du cinéma: immense soupir :-( sur la bande son; hélas c'est
ma réalité professionnelle)

PS. Si de potentiels employeurs -en Île de France- lisent ce mél: mon CV
est en et
c'est avec attention et intérêt que je lirais leurs offres d'emploi par
courriel *privé*. Notez bien mon âge, je suis indiscutablement vieux, à
barbe blanche, car grand-père! Sous certaines conditions (à discuter
ultérieurement entre nous, et notamment du télétravail partiel) même un
CDD de 12 ou 18 mois pourrait dans certains cas m'intéresser.

Discussions similaires