2011-11-24 17 views
121

Sé que hay formas de enviar correos electrónicos desde la terminal en Linux/MacOS, pero parece que no puedo encontrar la documentación adecuada sobre cómo hacerlo.¿Cómo enviar un correo electrónico desde la Terminal?

Básicamente lo necesito para mi secuencia de comandos bash que me notifica cada vez que hay un cambio en un archivo.

+2

Probablemente hay que señalar aquí que algunos anfitriones e ISPs "apagar" la capacidad para enviar correo electrónico. Supongo que es un intento de detener el spamming y el phishing a través de ellos –

+0

@JimJeffries ¿Cuáles? Estoy usando un servidor web Amazon EC2. – ckjbgames

Respuesta

110
echo "this is the body" | mail -s "this is the subject" "[email protected]" 
+14

Tenga en cuenta que todas estas soluciones asumen que tiene instalado un MTA – Miquel

+8

@Miquel buen punto localmente instalado. En Ubuntu, puede obtener los requisitos previos a través de 'sudo apt-get install mailutils'. – earldouglas

+3

@James, no es trabajo para mi MAC (((¿Me podría ayudar? – neo

34

Si todo lo que necesita es una línea de asunto (como en un mensaje de alerta) Basta con hacer:

mailx -s "This is all she wrote" < /dev/null "[email protected]" 
+0

Mi favorito por mucho. –

+0

@medTechy ¡Me alegra que lo encuentre útil! – JRFerguson

+0

Muy útil ... Muchas gracias! – Shambho

7

en la terminal de su sistema operativo Mac o sistema operativo Linux escriba este código

mail -s (subject) (receiversEmailAddress) <<< "how are you?" 

para un ejemplo probar este

mail -s "hi" [email protected] <<< "how are you?"<br> 
13

Si desea adjuntar un archivo en Linux

echo 'mail content' | mailx -s 'email subject' -a attachment.txt [email protected] 
+3

Da un mensaje' invalid header' para mi archivo adjunto. La opción correcta era una mayúscula '-A'. – Stephane

+0

@Stephane Según patrick-haugh, -a es el interruptor de adjunto -A es para el comando de cuenta. Vea la página man: https://linux.die.net/man/1/mailx – MiaeKim

Cuestiones relacionadas