S'appuyant sur le post précédent où l'exigence était que les tâches cron envoient des messages d'état via une seule ligne de commande, comme posté ici :
Le moyen le plus simple d'envoyer un e-mail d'une ligne via la ligne de commande à l'aide de gmail ?
La question s'est posée de savoir comment utiliser une seule ligne pour envoyer un fichier joint.
Scénario :
cron job génère le fichier de sortie comme suit :
cd /home/pi/python
gnuplot plt12
le fichier programme plt12 comprend les deux lignes suivantes :
set output "pl12.png"
set terminal png font "arial,11"
Cela se fait sur un système Rpi3B connecté via USB à un Nano pour l'ADC qui enregistre les données.
La question est donc de savoir quel est le moyen le plus simple d'envoyer cette image de fichier de tracé, en utilisant une seule ligne de commande, via gmail ?
Réponse acceptée :
Avec mutt
:
SMTP_URL='smtps://user:[email protected]' mutt
-F /dev/null
-e 'set from="Me <[email protected]>"'
-e 'set smtp_url=$SMTP_URL'
-s 'pl12.png file'
-a pl12.png --
[email protected] << EOM
Hi,
see pl12.png attached.
--
Me
EOM
Comme tout code shell, vous pouvez toujours le mettre sur une seule ligne si cela vous tente, bien que cela n'aide pas à la lisibilité :
printf 'Hi,nnsee pl12.png attachednn-- nMen' | SMTP_URL='smtps://user:[email protected]' mutt -F /dev/null -e 'set from="Me <[email protected]>"' -e 'set smtp_url=$SMTP_URL' -s 'pl12.png file' -a pl12.png -- [email protected]