Crear script de contenedor para Mail.app para enviar correo desde Terminal

Estoy tratando de enviar correos desde la terminal con la ayuda de bash y applescript. Uso bash para ocuparme de los arguments y el cuerpo del post de correo electrónico. Luego intenté usar Applescript para enviar el correo con Mail.app. Me he encontrado con algunos problemas, sin embargo, cuando bash lo siguiente obtengo: 4:4: syntax error: Expected expression but found end of script. (-2741) 4:4: syntax error: Expected expression but found end of script. (-2741)

 #!/bin/bash if [ $# -ne 2 ] then echo "Arguments: <subject> <recipient>" >&2 #stderr exit 1 fi read message applescript=" tell application \"Mail\" set theMessage to make new outgoing message with properties {visible:true, subject:${1}, content:${message}, address:${2}} send theMessage end tell " # send the message osascript -e ${applescript} 

Versión actualizada:

 #!/bin/bash if [ $# -ne 2 ] then echo "Arguments: <subject> <recipient>" >&2 #stderr exit 1 fi read message echo "tell application \"Mail\" set theEmail to make new outgoing message with properties {visible:true, subject:\"${1}\", content:\"${message}\"} tell theEmail make new recipient at end of to recipients with properties {address:\"${2}\"} send theEmail end tell end tell" | osascript 

  • ¿Hay alguna aplicación que te permita codificar y enviar correos electrónicos HTML desde tu Mac?
  • ¿Cómo saber qué impide que Mail obtenga Gmail según el cronogtwig?
  • Eliminar files de MS Outlook
  • Alias ​​de Apple en Mail e iCloud revelando mi identidad
  • La Bandeja de input unificada en el correo no muestra todos los correos electrónicos
  • ¿Cómo llegan las counts de correo no deseado a los dispositivos?
  • ¿Cómo puedo ver los posts que envío en la Vista de conversación de Mail 5?
  • Mac Outlook 15.11 2015 "falló la connection al server o se cayó" (Error # -3253)
  • 2 Solutions collect form web for “Crear script de contenedor para Mail.app para enviar correo desde Terminal”

    Es posible que también desee consultar esta publicación SuperUser . La respuesta aceptada proporciona un script bash que utiliza AppleScript para enviar un correo electrónico con un file adjunto desde una línea de command del Terminal. Este script puede ser más funcional de lo que necesita, pero es un gran punto de partida. El código de la respuesta:

     #!/bin/bash echo "tell application \"Mail\" activate set MyEmail to make new outgoing message with properties {visible:true, subject:\"$2\", content:\"Some Message Here\"} tell MyEmail make new to recipient at end of to recipients with properties {address:\"$1\"} make new attachment with properties {file name:((\"$3\" as POSIX file) as alias)} end tell end tell " | osascript 

    ¿Necesita usar Mail.app, o su objective es simplemente enviar un post de correo electrónico? Si solo se trata de enviar un post de correo electrónico desde la Terminal, puede usar la utilidad de command-line de sendemail .

     /usr/local/bin/sendemail -f from@my.email.com -t my.recipient@their.email.com -s your.smtp.server:port -xu smtp.username.here -xp smtp.password.here -m message.body.goes.here 

    Obviamente en Terminal todo eso tendrá que ir en una sola línea, con escapes apropiados y comillas de strings. Puede consultar la página del manual de sendemail para get más opciones.

    Loving Apple Products like poisoning (iPhone, iPad, iMac, Macbook, iWatch).