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.
mail
commande (parfois appelée bsdmail) au lieu de sendmail
directement. mail
prend une -s subject
option 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.