0 votos

¿Cómo lidiar con dos binarios de correo?

Recientemente he instalado tanto msmtp (cliente smtp) como mailutils en un iMac M1 a través de MacPorts. No pude conseguir que msmtp funcionara hasta que me di cuenta de que había dos binarios de correo en la máquina, uno que, supongo, es nativo y otro instalado por mailutils:

Valentine:~ mnewman$ which -a mail
/opt/local/bin/mail
/usr/bin/mail

Desgraciadamente, se utilizaba el equivocado si intentaba enviar el correo desde la línea de comandos, lo que hacía que msmtp fallara. Traté de arreglarlo con:

Valentine:~ mnewman$ alias mail="/usr/bin/mail"
Valentine:~ mnewman$ type mail
mail is aliased to `/usr/bin/mail'

Lo cual funciona, pero creo que debe haber una forma mejor. ¿La hay?

Editado para mostrar por qué necesito usar /usr/bin/mail en lugar de /opt/local/bin/mail con msmtp:

Valentine:~ mnewman$ /opt/local/bin/mail me@mac.com
Cc:
Subject: none
test
msmtp: no recipients found
Sending data to /opt/local/bin/msmtp failed: Process exited with a non-zero status
cannot send message: Process exited with a non-zero status
Valentine:~ mnewman$ /usr/bin/mail me@mac.com
Subject: none
test
EOT

/opt/local/bin/mail falla mientras que /usr/bin/mail funciona

1voto

yoliho Puntos 340

Lo que puedes hacer en lugar de usar un alias o cambiar el orden de PATH es crear un shell script llamado mail y ponerlo en un directorio antes de cualquiera de los ejecutables de mail. Yo pondría /usr/local/bin y/o un bin local ~/bin o actualmente ~/.local/bin al principio de la ruta. Este script actuará entonces como cualquier otro ejecutable y estará disponible para cualquier otro programa al igual que sus ejecutables de correo actuales, mientras que un alias es sólo un reemplazo de texto cuando se escribe mail al principio de un comando.

El correo script sería como - nótese que esto está totalmente sin probar. Llama explícitamente al ejecutable que quieras y pasa todos los argumentos de la línea de comandos a este.

#! /bin/sh
/usr/bin/mail $@

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X