Solución:
Si el servidor está bien configurado, por ejemplo, tiene un MTA en funcionamiento, puede usar el comando mail.
Por ejemplo, para enviar el contenido de un archivo, puede hacer esto:
$ cat /path/to/file | mail -s "your subject" [email protected]
man mail
para más detalles.
Si desea un enfoque limpio y simple en bash, y no desea usar cat
, echo
, etc., la forma más sencilla sería:
mail -s "subject here" [email protected] <<< "message"
<<<
se utiliza para redirigir la entrada estándar. Ha sido parte de bash durante mucho tiempo.
Si se están ejecutando exim y ssmtp, es posible que tenga problemas. Entonces, si solo desea ejecutar un MTA simple, solo para tener un cliente smtp simple para enviar notificaciones por correo electrónico para solicitar asistencia, deberá purgar el MTA eventualmente preinstalado como exim o sufijo primero y reinstale ssmtp.
Entonces es bastante sencillo, configurar solo 2 archivos (revaliases y ssmtp.conf) – Ver ssmtp doc -, y el uso en su script bash o bourne es como:
#!/bin/sh
SUBJECT=$1
RECEIVER=$2
TEXT=$3
SERVER_NAME=$HOSTNAME
SENDER=$(whoami)
USER="noreply"
[[ -z $1 ]] && SUBJECT="Notification from $SENDER on server $SERVER_NAME"
[[ -z $2 ]] && RECEIVER="another_configured_email_address"
[[ -z $3 ]] && TEXT="no text content"
MAIL_TXT="Subject: $SUBJECTnFrom: $SENDERnTo: $RECEIVERnn$TEXT"
echo -e $MAIL_TXT | sendmail -t
exit $?
Obviamente, no olvide abrir la salida de su firewall al puerto smtp (25).