Nel tuo esempio non ci sono client di posta elettronica (oltre al possibile echo
); sendmail
fa parte dell'agente di trasporto posta che sulle versioni correnti di macOS è di default Postfix. Postfix imposterà il dominio dal file di configurazione o in mancanza di alcuni valori interni o ricerca di sistema:
$ postconf | grep localdomain
mydomain = localdomain
$ postconf -n | grep "^mydomain"
$
Questo mostra che (almeno sul mio sistema) il valore mydomain
è localdomain
e che quel valore non è impostato in /etc/postfix/main.cf
. Deve quindi venire da un valore interno o tramite qualche chiamata di sistema. (È possibile impostarlo su qualcosa di appropriato in main.cf
; molti agenti di trasporto della posta rifiuteranno la posta da tali domini locali perché gli spammer, o altrimenti segnano il messaggio come più probabile che sia spam. Questo potrebbe non essere un problema se l'e-mail non sarà mai raggiungere Internet.)
$ strings /usr/sbin/postfix | grep localdomain
localdomain
$ cfu 'char buf[254]; gethostname(buf,254); printf("%s\n",buf)'
glide.local
$
Mostra che postfix
potrebbe utilizzare localdomain
come valore interno, poiché tale stringa appare nel file binario. Ciò è probabile dato che gethostbyname(3)
restituisce qualcosa che non è localdomain
sul mio sistema (probabilmente non hai cfu
ma ci sono molti modi per eseguire chiamate di sistema arbitrarie). Se uno scarica il codice sorgente per Postfix , ci sono in effetti vari riferimenti 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");
...
Quindi è molto probabile che questo valore sia impostato internamente da Postfix e, se necessario, dovrebbe essere modificato modificando la configurazione.