linux - postfix - enviar email shell script
enviar correo desde el terminal de linux en una lĂnea (7)
Envío de correo simple:
$ mail -s "test message from centos" [email protected]
hello from centos linux command line
Ctrl + D para terminar
Sé que existe el comando de mail
en Linux para enviar correos electrónicos a través de la línea de comandos. Sin embargo, ¿cómo puedo enviar un simple correo electrónico con una línea desde la terminal?
Por ejemplo:
mail [email protected] [subject] [body]
¿Y ha enviado el correo electrónico sin confirmación o indicaciones al usuario?
La razón es que quiero enviar un breve mensaje por correo electrónico a mí mismo cuando ocurre un evento específico en un programa java
. La idea es que Runtime.getRuntime()
... etc. para enviar el mail command
de mi programa java
.
Utilicé cron
para hacer algo similar en el pasado, pero la implementación actual no usa cron
, así que tengo que probar esto en su lugar.
Para usuarios de Ubuntu: Primero necesitas instalar mailutils
sudo apt-get install mailutils
Configura un servidor de correo electrónico, si estás usando gmail o smtp. sigue este enlace luego usa este comando para enviar correos electrónicos.
echo "this is a test mail" | mail -s "Subject of mail" [email protected]
En caso de que esté utilizando gmail y todavía esté obteniendo algún error de autenticación, entonces necesita cambiar la configuración de gmail:
Active el acceso para aplicaciones menos seguras desde aquí
Puede usar un eco con una tubería para evitar avisos o confirmación.
echo "This is the body" | mail -s "This is the subject" [email protected]
También puedes usar sendmail:
/usr/sbin/sendmail [email protected] < /file/to/send
Puede instalar el paquete de correo en Ubuntu con el siguiente comando.
Para Ubuntu -:
$ sudo apt-get install -y mailutils
Para CentOs-:
$ sudo yum install -y mailx
Comando Test Mail-:
$ echo "Mail test" | mail -s "Subject" [email protected]
el correo puede representar un buen par de programas en un sistema Linux. Lo que quiere detrás de esto es sendmail o postfix . Recomiendo lo último.
Puede instalarlo a través de su administrador de paquetes favorito. Luego debe configurarlo y, una vez que lo haya hecho, puede enviar un correo electrónico como este:
echo "My message" | mail -s subject [email protected]
Vea el manual para más información.
En cuanto a la configuración de postfix, hay muchos artículos en Internet sobre cómo hacerlo. A menos que esté en un servidor público con un dominio registrado, generalmente desea reenviar el correo electrónico a un servidor SMTP desde el que puede enviar correos electrónicos.
Para gmail, por ejemplo, siga http://rtcamp.com/tutorials/linux/ubuntu-postfix-gmail-smtp/ o cualquier otro tutorial similar.
echo "Subject: test" | /usr/sbin/sendmail [email protected]
Esto le permite hacerlo dentro de una línea de comando sin tener que hacer eco de un archivo de texto. Esta respuesta se basa en la respuesta de @ mti2935. Entonces el crédito va allí.