¿Cómo enviar un correo electrónico desde la línea de comandos o script? Quiero poder ejecutar el script mediante programación pasando el receptor y el mensaje.
email
development
command-line
script
michelemarcon
fuente
fuente
Respuestas:
mail -s subject [email protected]
escribe tu mensaje, presionaCtrl+D
para terminarfuente
echo This will be the body of the email | mail -s "This is the Subject" [email protected]
Conozco dos programas que le permitirán configurar fácilmente su Mac para enviar correos electrónicos desde la línea de comandos.
He escrito COMO para los dos:
De los dos, sugiero
msmtp
.La configuración es lo suficientemente complicada que no estoy seguro de si debería replicar todos los pasos aquí, pero mencionaré que si usa Homebrew , puede instalar msmtp usando
brew install msmtp --with-macosx-keyring
Luego, el resto es solo una cuestión de configurar los archivos de configuración relacionados
El primero es
/usr/local/etc/msmtprc
Tenga en cuenta que la
tls_trust_file
línea debe apuntar a donde haya descargado e instalado los certificados de https://www.thawte.com/roots/index.html .Puse el mío
~/Dropbox/Thawte Roots
para poder tenerlo en todos mis Mac.Luego necesita un
~/.mailrc
archivo para decir dónde se encuentra el binario msmtp. Si lo usabrew
,/usr/local/bin/msmtp
el archivo se verá así:El último pero crucial paso es asegurarse de que su Llavero tenga la información exactamente en el formato que msmtp esperará:
Creo que eso cubre la mayoría de los detalles. Consulte http://www.tuaw.com/2010/05/04/msmtp-a-free-tool-to-send-email-from-terminal/ si desea obtener más detalles.
fuente
[email protected]
a su dirección de correo electrónico de Gmail o Google Apps.~/.msmtprc
La forma más básica de enviar correo es a través de una sesión telnet con el servidor smtp de su proveedor / red. Después de contactar al servidor y después de cada comando, el servidor responderá si acepta el comando con algo como "250 OK", o si no con un mensaje de error.
Todos los detalles se pueden encontrar en RFC2821 - Protocolo simple de transferencia de correo, Google para ello. Esta forma básica es excelente para probar por qué algo sale mal al enviar correo, pero creo que es bastante complicado escribir una prueba completa.
Primero obtenga una interfaz de línea de comandos en su computadora, iniciando Terminal. Luego continúe con los siguientes comandos, uno tras otro.
Abra una sesión telnet en el puerto 25 del servidor smtp de su proveedor / red
diga hola más el nombre de Internet de su proveedor / red, como abc.com
se necesita una dirección from = return, las <y> son parte del comando
dar uno o más destinos, los <y> son parte del comando
dígale al servidor que desea comenzar a enviar datos
ahora el servidor debería responder, puede comenzar a enviar su correo y pasar al modo de datos
ahora termine los datos con un punto como solo char en una línea
el servidor vuelve al modo de comando para que pueda salir
fuente
Esto funcionó para mí, fue escrito con Lion en mente pero funciona para Mountain Lion. Por cierto, esto está usando Gmail, así que si no estás ...
¡No necesitas descargar nada! (solo configura una cuenta de gmail)
http://www.anujgakhar.com/2011/12/09/using-macosx-lion-command-line-mail-with-gmail-as-smtp/
Configurar Postfix para el archivo de edición SMTP de Gmail /etc/postfix/main.cf
y agregue lo siguiente debajo de los host de retransmisión comentados:
Genere sasl_password si aún no existe
e ingrese lo siguiente: -
Ejecute los siguientes comandos
Y ya terminaste ...
Ahora, debería poder enviar correos electrónicos desde la línea de comandos, por ejemplo, para enviar el contenido de un directorio como un árbol a una dirección de correo electrónico
fuente
mtcmail es otra opción: http://www.macupdate.com/app/mac/33505/mtcmail-cli .
[Ignore este texto adicional. Agregado porque: el cuerpo debe tener al menos 30 caracteres; ingresaste 27.]
fuente
Es posible que desee consultar postfixconf que habilita y configura OS X para enviar correos electrónicos desde la línea de comandos (utilizando su entrada).
Se basa en la configuración de postfix que están bien documentados en la web aquí , aquí y aquí .
fuente
Como está basado en Unix, puede usar el comando sendmail .
fuente