2 votos

¿Por qué se ha introducido .localdomain en Postfix?

Al enviar el correo electrónico en mi máquina local ( echo foo | sendmail $USER ), el correo electrónico contiene From: (my-user-name)@(my-machine-name).localdomain .

Según mis herramientas de línea de comandos, mi host no parece tener una extensión de dominio local añadida a cualquiera de los distintos nombres de host que permite MacOS .

$ grep localdomain /etc/hosts
$ grep localdomain /Library/Preferences/SystemConfiguration/preferences.plist
$ scutil --get ComputerName
(my-machine-name)
$ scutil --get HostName
(my-machine-name)
$ scutil --get LocalHostName
(my-machine-name)
$ hostname -f
(my-machine-name)
$ alias hostname
-bash: alias: hostname: not found

Mi investigación muestra .localdomain se deriva de un Actualización de Postfix . Sin embargo, el registro de Git sólo contiene mensajes genéricos, y no he podido averiguar de la HISTORY archivo por qué se añadió.

  1. Quién ha introducido .localdomain ¿Y por qué?
  2. ¿Para qué usos específicos es aplicable, si es que lo es? (por ejemplo, ¿se debe utilizar el correo electrónico Message-ID ?)

0 votos

0 votos

En la configuración por defecto, la ejecución de hostname equivale a ejecutar hostname -f que imprime machine_name.local . Comprueba si hay algún alias definido en hostname corriendo alias hostname .

0 votos

Gracias por editar esto. ¿Cuál es el objetivo final aquí? ¿Por qué no configurar el sendmail para que ponga un nombre de dominio totalmente cualificado adecuado, independientemente del nombre de host local?

5voto

thrig Puntos 101

No hay ningún cliente de correo electrónico en su ejemplo (además de posiblemente el echo ); sendmail es parte del Agente de Transporte de Correo que en las versiones actuales de MacOS es por defecto Postfix. Postfix establecerá el dominio desde el archivo de configuración o, en su defecto, desde algún valor interno o llamada al sistema:

$ postconf | grep localdomain
mydomain = localdomain
$ postconf -n | grep "^mydomain"
$ 

Esto demuestra que (al menos en mi sistema) el mydomain valor es localdomain y que ese valor no está fijado en /etc/postfix/main.cf . Por lo tanto, debe provenir de un valor interno o a través de alguna llamada al sistema. (Se podría establecer algo apropiado en main.cf Muchos agentes de transporte de correo rechazarán el correo procedente de estos dominios locales por considerarlo spam, o bien calificarán el mensaje como más probable que sea spam. Esto puede no ser un problema si el correo nunca llegará a Internet).

$ strings /usr/sbin/postfix | grep localdomain
localdomain
$ cfu 'char buf[254]; gethostname(buf,254); printf("%s\n",buf)'
glide.local
$ 

Muestra que postfix podría estar utilizando localdomain como valor interno, ya que esa cadena aparece en el binario. Esto es probable dado que gethostbyname(3) devuelve algo que no es localdomain en mi sistema (probablemente no tenga cfu pero hay muchas formas de ejecutar llamadas arbitrarias al sistema). Si se descarga el código fuente de Postfix En efecto, hay varias referencias a localdomain :

$ find . -name "*.c" -exec fgrep localdomain {} +
./src/global/mail_addr_find.c:    UPDATE(var_mydomain, "localdomain");
./src/global/mail_addr_find.c:    UPDATE(var_myorigin, "localdomain");
./src/global/mail_addr_find.c:    UPDATE(var_mydest, "localhost.localdomain");
./src/smtp/smtp_map11.c:    UPDATE(var_myhostname, "localhost.localdomain");
./src/smtp/smtp_map11.c:    UPDATE(var_mydomain, "localdomain");
...

Por lo tanto, es muy probable que este valor sea establecido internamente por Postfix, y si es necesario debe ser ajustado editando la configuración.

0 votos

Muy buena respuesta, hasta las cadenas codificadas :) postconf me da lo mismo que a ti. Sin embargo, esto no explica el origen de root. Incluso una búsqueda da sólo pistas esporádicas: google.com/search?q="localdomain ". Recuerdo que antes el correo local sólo tenía @localhost, así que supuestamente se añadió en alguna actualización de MacOS. El motivo de la convención sigue sin estar claro. Si alguien puede arrojar luz sobre esto se agradecería.

0 votos

Google cree que soy un robot así que no sé lo que muestra esa búsqueda. sólo hay dos referencias a localdomain en el RFC (6108 y 7123) ni particularmente revelador más allá de que existe. Supongo que si hay un repo de código fuente de Postfix se podría git bisect para ver cuándo se añadieron esas cadenas y por qué?

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