La línea de comando hará el truco (con alguna configuración). Deberá configurarlo para usar la autenticación de su cuenta de Google (noté que etiquetó 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 comando y use ese token cuando agregue la contraseña SASL.
Esta configuración funciona bien pero no manejará los archivos adjuntos. Si necesita enviar un archivo, probablemente le resulte más fácil usar la GUI de correo.
Sin embargo, su problema es que no desea abrir un programa para enviar un mensaje, ¿correcto? Porque esto requiere que tengas la Terminal abierta, o que abras la Terminal cuando necesites enviar. Pero sería bastante fácil juntar un Applescript que le pedirá la dirección de destino, el asunto y el texto del correo electrónico, luego lo devolverá directamente al shell y saldrá. Tíralo a la carpeta de secuencias de comandos de usuario y asegúrate de que tu Mac esté configurada para mostrar secuencias de comandos en la barra de menú para un acceso rápido.
Segunda edición: se actualizó el applecript para que funcione de manera un poco más eficiente; usa el código de aquí para escribir el cuerpo del mensaje en 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 personajes que fueron mal manejados por el guión original.
try
display dialog "Send email to:" default answer "email@domain.com"
set theEmail to (text returned of result)
if theEmail is "email@domain.com" 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