Je veux utiliser sendmail pour m'envoyer des trucs et je veux le faire dans un oneliner.
echo "mail content" | sendmail emailataddres.com
L'envoie sans sujet.
La ligne d'objet doit précéder le contenu du courrier, donc je cherche quelque chose dans le sens de:
echo "mail content" | prepend "Subject: All that matters" | sendmail emailataddres.com
sed et awk ont tendance à être très difficiles à utiliser et à mémoriser.
EDIT : Juste pour clarifier: echo "Mail content" n'est qu'un exemple illustratif. J'ai besoin de pouvoir ajouter des trucs aux flux standard à partir de n'importe quelle source. par exemple: ifconfig, zcat, etc.
prepend- il faire? Afin de savoir comment ajouter quelque chose, vous devez attendre jusqu'à ce que la commande en amont (par exemple echo) envoie l'EOF, afin que vous puissiez insérer vos données en amont dans le flux avant de les passer à stdout pour être canalisées vers sendmail. Cela ressemble à une tâche pour un script Ruby ou Python court.
mailcommande (parfois appelée bsdmail) au lieu de sendmaildirectement. mailprend une -s subjectoption facultative , par exemple: ifconfig -a | mail -s 'Current ifconfig output' me@someaddr.com
echo -e "Subject: All that matters\nmail content"? Ou plus agnostique plate - forme:printf 'Subject: %s\n%s\n' "All that matters" "mail content". Vous pouvez également écrire un petit script qui prend simplement les deux arguments de chaîne pour créer une ligne encore plus simple.