10 votos

Enviar correo electrónico desde la línea de comandos (MacOS Monterey 12.3)

Estoy intentando enviar un correo electrónico desde la línea de comandos pero no funciona:

echo "Hello World" | mail -s "Test email" someone@example.com

Hace años "simplemente funcionaba" porque el correo (aparentemente) utilizaba un servidor smtp de Mail.app y enviaba el correo. Hay dos servidores smtp que funcionan en Mail.app (iCloud y mi ISP en el puerto 25) pero aún así mail no puede enviar correo electrónico desde la línea de comandos.

¿Qué está pasando?

7voto

Bien, ahora funciona. Dejaré este informe para la posteridad.

Al utilizar mail desde la línea de comandos, postfix tiene que ser configurado correctamente. No parece que obtenga la configuración de su servidor smtp de Mail.app (tal vez lo hacía, pero ya no). Tienes que configurarlo tú mismo. La documentación pertinente se puede encontrar aquí: http://www.postfix.org/SOHO_README.html#fantasy

Estos ajustes funcionan:

# Set external SMTP relay host here, IP or hostname accepted along with a port
relayhost = smtp.myispserver.com:465
# Set username and password
smtp_sasl_password_maps = static:myusername:mypassword
# Enable auth
smtp_sasl_auth_enable = yes
smtp_sasl_security_options = noanonymous
# Turn on tls encryption
smtp_tls_security_level = encrypt
header_size_limit = 4096000

# For port 465
smtp_tls_wrappermode = yes
smtp_tls_security_level = encrypt

# For rewriting mymacusername@mymacname.home to myusername@myisp.com
smtp_generic_maps = hash:/etc/postfix/generic

Si el puerto saliente 25 está bloqueado, utilice 465 o 587. Mi sospecha de que el servidor smtp se negaba a aceptar conexiones con encabezados "From: " incorrecto, estaba en lo cierto. La respuesta fue: Dirección del remitente rechazada: Dominio no encontrado (en respuesta al comando RCPT TO). Utilice smtp_generic_maps para reescribir.

Compruebe los registros de smtp y smtpd con:

log stream --predicate  '(process == "smtpd") || (process == "smtp")' --info

1voto

mpp Puntos 76

Encontré esto hilo de reddit que discute el tema y ofrece esta solución:

"Si tienes configurado Mail.app con una cuenta, puedes hacer lo siguiente: echo "Hello World" | mail -s "BCC Testing email" someone@example.com -c second@example.com -b third@example.com

La -c es para la copia al carbón y la -b para la copia oculta".

Además, las personas en este hilo dicen que se necesita una utilidad para hacer esto y recomiendan Enviar correo electrónico . Si Aplicación de correo sigue sin funcionar después de probar las soluciones, intente utilizar Enviar correo electrónico y ver si hay alguna diferencia.

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