/etc/aliases

/etc/aliases

He configurado mi servidor Debian para msmtpenviar correos electrónicos. El caso de uso actual es, por ejemplo, enviar un informe diario logwatchal correo electrónico de mi ISP.

echo "$body" | mutt -s "$topic" -- "[email protected]"

Lo he configurado msmtpmediante un msmtprcarchivo global ubicado en /etc/msmtprc. Contenidos que se muestran a continuación.

Lo siguiente que quiero configurar es que mi correo electrónico para mi cuenta raíz (por ejemplo, la salida de crontabs) también se envíe al correo electrónico de mi proveedor de Internet.

Busqué en Google y descubrí, por ejemplo en la wiki de Arch, que simplemente debería configurar mis alias. Lo cual lo hice en la parte inferior del archivo de configuración msmtp.

Sin embargo, después de ejecutar newaliasese intentar ejecutar

echo test | mail -s "test message" root

me sale el error

send-mail: /etc/aliases: line 2: invalid address 'postmaster'
Can't send mail: sendmail process failed with error code 78

No estoy seguro de cómo puedo solucionar este problema. El alias que se muestra a continuación es el que ya estaba presente. Solo agregué la dirección de gmail.

Creo que podría simplemente poner un nuevo archivo de alias, pero eso podría dañar otros servicios que dependen de esto. Es decir, no sé cuál es la forma correcta de solucionar este problema.

/etc/aliases

# /etc/aliases
mailer-daemon: postmaster
postmaster: root
nobody: root
hostmaster: root
usenet: root
news: root
webmaster: root
www: root
ftp: root
abuse: root
noc: root
security: root
root: christphe, [email protected]

/etc/msmtprc

# ------------------------------------------------------------------------------
# msmtp System Wide Configuration file
# ------------------------------------------------------------------------------

# A system wide configuration is optional.
# If it exists, it usually defines a default account.
# This allows msmtp to be used like /usr/sbin/sendmail.

# ------------------------------------------------------------------------------
# Accounts
# ------------------------------------------------------------------------------

account isp
host mail.isp.net
port 587
from [email protected]
auth login
user [email protected]
password foobar
syslog LOG_MAIL

logfile /var/log/msmtp.log

# ------------------------------------------------------------------------------
# Configurations
# ------------------------------------------------------------------------------

# Construct envelope-from addresses of the form "[email protected]".
#auto_from on
#maildomain fermmy.server

# Use TLS.
tls on
tls_starttls on
tls_trust_file /etc/ssl/certs/ca-certificates.crt

# Syslog logging with facility LOG_MAIL instead of the default LOG_USER.
# Must be done within "account" sub-section above
#syslog LOG_MAIL

# Set a default account
account default : isp

aliases /etc/aliases
# ------------------------------------------------------------------------------#

Respuesta1

Actualización 2019-10-17

msmtp versión 1.8.6 (lanzada el 27 de septiembre de 2019) ahora tiene soporte nativo para la expansión de alias encadenados/recursivos en /etc/aliases. Verhttps://marlam.de/msmtp/news/msmtp-1-8-6/.

Respuesta original

Entonces, tuve exactamente el mismo problema cuando migré de ssmtp a msmtp. El problema es causado por elis_address()función en alias.c. Básicamente, si el destino del alias no contiene '@', msmtp cree que no es válido y muere. Puede solucionar este problema simplemente agregando @ a todos los alias que redireccionan a la raíz.

En su ejemplo, modificaría /etc/aliasesde la siguiente manera:

# /etc/aliases
mailer-daemon: postmaster@
postmaster: root@
nobody: root@
hostmaster: root@
usenet: root@
news: root@
webmaster: root@
www: root@
ftp: root@
abuse: root@
noc: root@
security: root@
root: christphe@, [email protected]

Planeo registrar un error/problema en msmtp para cambiar este comportamiento de modo que simplemente funcione y luego actualizaré esta respuesta.

Respuesta2

Hoy encontré 2 cosas sobre esto cuando lo intenté msmtppor primera vez.

  1. /etc/aliasesEl defecto de postmaster: rootdio acidez de estómago. Sólo revelado pormsmtp -v

  2. poneraliases /etc/aliasesEn /etc/msmtprco~/.msmtprc

Respuesta3

Lo siguiente que quiero configurar es que mi correo electrónico para mi cuenta raíz (por ejemplo, la salida de crontabs) también se envíe al correo electrónico de mi proveedor de Internet.

  1. Agregue una línea como esta en /etc/msmtprc:
   aliases /etc/aliases.msmtp
  1. Crea el archivo /etc/aliases.msmtpque contiene esta línea:
   default: [email protected]

Respuesta4

msmtp y AppArmor no funcionan bien juntos. AppArmor estaba de acuerdo con la lectura de msmtpd /etc/aliases , pero se resistía a leer /etc/aliases.msmtp.

Encontré el problema usando la -vopción msmtp y enviando un correo de prueba.

Recomiendo seguir /etc/aliases.

información relacionada