línea de comando hará el truco (con algunos configuración). Deberá configurarlo para usar la autenticación de su cuenta de Google (noté que marcó la pregunta con "gmail", por lo que supongo que es su proveedor).
Este sitio tiene los detalles sobre cómo configurarlo. Si usa la autenticación de dos pasos con su cuenta, simplemente cree una contraseña de aplicación para la línea de comandos y use ese token cuando agregue la contraseña de SASL.
Esta configuración funciona bien pero no manejará archivos adjuntos. Si necesita enviar un archivo, probablemente le resulte más fácil usar la GUI del correo.
Sin embargo, su problema es que no desea abrir un programa para enviar un mensaje, ¿correcto? Debido a que esto requiere que tenga la Terminal abierta, o que abra la Terminal cuando necesite enviar. Pero sería bastante fácil compilar un Applescript que le pedirá la dirección de destino, el asunto y el texto del correo electrónico, y luego enviarlo directamente al shell y salir. Incluya esto en su carpeta de scripts de usuario y asegúrese de que su Mac esté configurada para mostrar Scripts en la barra de menú para un acceso rápido.
Segunda edición: se ha actualizado AppleScript para que funcione un poco más eficientemente; utiliza el código de aquí para escribir el cuerpo del mensaje a un archivo temporal en su directorio de inicio, luego simplemente usa cat para leer el contenido del archivo en un mensaje de correo electrónico y finalmente elimina el archivo temporal. Lo probé y funciona bien incluso con caracteres que fueron mal manejados por el script original.
try
display dialog "Send email to:" default answer "[email protected]"
set theEmail to (text returned of result)
if theEmail is "[email protected]" then error "No recipient specified!"
display dialog "Email subject:" default answer "Subject"
set theSubject to (text returned of result)
if theEmail is "Subject" then error "No subject specified!"
display dialog "Message:" default answer ¬
"Enter message text" & return & return & return & return
set theBody to (text returned of result)
set this_file to (((path to home folder) as text) & "message.tmp")
my write_to_file(theBody, this_file, true)
do shell script "cd ~/; cat message.tmp | mail -s \"" & theSubject & "\" " & theEmail & "; rm message.tmp"
on error theError
display dialog theError buttons {"Quit"} default button 1
end try
-- this subroutine saves input as a text file
on write_to_file(this_data, target_file, append_data) -- (string, file path as string, boolean)
try
set the target_file to the target_file as text
set the open_target_file to ¬
open for access file target_file with write permission
if append_data is false then ¬
set eof of the open_target_file to 0
write this_data to the open_target_file starting at eof
close access the open_target_file
return true
on error
try
close access file target_file
end try
return false
end try
end write_to_file