Sendmail nel mondo Unix è noto per avere il file di configurazione più complesso che sia mai stato concepito da uno sviluppatore umano.
Geek humour in rete si spreca sulle caratteristiche di questo file e in genere su Sendmail stesso, un mostro sacro della posta elettronica che non nasconde le sue antichità, nel bene e soprattutto nel male.
Il file di configurazione è /etc/sendmail.cf
, a volte si trova in /etc/mail/sendmail.cf
o in altre posizioni.
Questo file ha una struttura che appare estremamente complessa perchè ha una sintassi molto ridotta ai minimi termini: i comandi sono tutti di una singola lettera e si aspettano argomenti che spesso sono di 2 sole lettere.
A vederlo sembra uno scherzo di natura informatica, un insieme di caratteri senza senso, ma una volta conosciuta la sua logica, in parte le nebbie si dipanano.
Dalla versione 8 in poi, Sendmail può essere configurato anche tramite un file chiamato sendmail.mc
che contiene comandi molto più semplici da intuire ma che va di fatto convertito, tramite un preprocessore di macro m4, nel file sendmail.cf vero e proprio.
Questa distinzione va ben compresa: il file di configurazione di Sendmail rimane sempre sendmail.cf, ma invece che editarlo direttamente, è possibile generarlo da un file sendmail.mc che ha una sintassi e una logica più semplice e che richiede di essere "precompilato" sulla base di regole e macro che generalmente vengono fornite su un pacchetto a parte nelle varie distribuzioni Linux (sendmail-cf.*.rpm).
Ogni volta che si modifica sendmail.mc va quindi rigenerato il relativo sendmail.cf:
m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
. Nel corso della sua storia e nelle sue incarnazioni su diversi Unix flavour, Sendmail ha disseminato file di configurazione in posti diversi, con le ultime versioni si è cercato di fare pulizia e uniformare la situazione. Segue un elenco, tratto dalla documentazione ufficiale dove si vede come sono cambiate le posizioni e i nomi di alcuni file comunemente usati in Sendmail:
Vecchia posizione Nuova posizione
/etc/bitdomain /etc/mail/bitdomain
/etc/domaintable /etc/mail/domaintable
/etc/genericstable /etc/mail/genericstable
/etc/uudomain /etc/mail/uudomain
/etc/virtusertable /etc/mail/virtusertable
/etc/userdb /etc/mail/userdb
/etc/aliases (oppure: /etc/sendmail/aliases ; /etc/ucbmail/aliases ; /usr/adm/sendmail/aliases ; /usr/lib/aliases ; /usr/lib/mail/aliases ; /usr/ucblib/aliases)
/etc/mail/aliases
/etc/sendmail.cw (oppure: /etc/mail/sendmail.cw ; /etc/sendmail/sendmail.cw)
/etc/mail/local-host-names
/etc/sendmail.ct /etc/mail/trusted-users
/etc/sendmail.oE /etc/mail/error-header
/etc/sendmail.hf (oppure: /etc/mail/sendmail.hf ; /usr/ucblib/sendmail.hf ; /etc/ucbmail/sendmail.hf ; /usr/lib/sendmail.hf ; /usr/share/lib/sendmail.hf ; /usr/share/misc/sendmail.hf ; /share/misc/sendmail.hf)
/etc/mail/helpfile
/etc/service.switch /etc/mail/service.switch
/etc/sendmail.st (oppure /etc/mail/sendmail.st ; /etc/mailer/sendmail.st ; /etc/sendmail/sendmail.st ; /usr/lib/sendmail.st ; /usr/ucblib/sendmail.st)
/etc/mail/statistics
Sendmail problem
Ciao, ho un problema con sendmail.
Devo appoggiarmi su un server di posta interno, ma su un'altra rete. ho aperto la porta per le mail, e ho impostato il DS nel file sendmail.cf che punta al mio server di posta. quando provo ad inviare una mail per provare la configurazione noto che le mail vanno sempre in coda e non viene inviato nulla. per funzionare devo avere il mio server sotto dominio e quello lo ho gia impostato, ma non riesco a capire perchè, anche avendo impostato il DS nel file sendmail, il relay rimane sempre root@locahost.
grazie mille
utente locale
Se ha configurato sendmail per accettare mail per un dominio, l'account di posta di quel dominio (es: [email protected]) DEVE essere anche unutente locale (un user info in /etc/passwd), a meno che non usi domini virtuali
Rispondisendmail aiuto
Ciao ... ho un problemino con sendmail
Dopo svariati test sendmail riesce a inviare email a domini diversi dal mio mentre se tento di inviarmi un'email riconosce il dominio come locale e tenta di mandare la mail localmente ... non trovando l'utente redirige poi l'email a root
So di non essere stato molto chiaro ... se qualcuno vuole aiutarmi posso fornire informazioni più dettagliate
info AT zmphoto.it
Permessi sui file
L'errore parla esplicitamente di permessi.
Verifica che l'utente con cui viene eseguito sm-client abbia accesso a /var/spool/clientmqueue e, in particolare, che questo utente sia root.
sendmail-sos
Ho installato da poco sul mio computer la versione 9 di RedHat.Mi si presenta da qualche giorno il seguente problema. Al boot del sistema ci sono problemi con sendmail, di cui parte la prima istanza
Starting sendmail: [ OK ]
ma non la seconda
Starting sm-client: can not chdir(/var/spool/clientmqueue/): Permission denied
Program mode requires special privileges, e.g., root or TrustedUser.
[FAILED]
Ho esaminato (con le mie relative competenze) lo script di avvio '/etc/rc.d/init.d/sendmail, in particolare la seguente riga:
daemon --check sm-client /usr/sbin/sendmail -L sm-msp-queue -Ac \
-q$SMQUEUE
che sembra essere la causa dei miei problemi, ma non ci ho tratto niente di utile,sicuramente perche' non mi e' chiaro come funzioni esattamente la funzione daemon di /etc/rc.d/init.d/functions.
Non riuscendo a capire cosa possa aver provocato questo sopravvenuto malfunzionameto di sendmail, non mi resta che contare sul provvidenziale aiuto di qualche amante del prossimo.
Dimenticavo di dire un'ultima cosa:da ex utente di Windows ho pure disinstallato e reinstallato ilpacchetto sendmail, ma la cosa non ha funzionato.
Grazie per la pazienza ecomplimenti per il vostro lavoro.
[email protected]