Newsgroup: it.comp.os.linux.sys
Titolo: Sendmail

Ci ho provato, ma il manuale di sendmail oltrepassa le 2000 pagine. Non
vorrei doverne leggere la maggior parte prima di capire che non si puo`
fare. E a naso mi viene da dire che non si puo`. Spero di sbagliarmi.
Vorrei configurare sendmail in modo che l'utente X possa mandare mail solo a
certi indirizzi, mentre l'utente Y non soffre di alcuna limitazione. 
Si puo` ?  Se si, cosa devo cercare ?
-- 
--> x3m <--

 certi indirizzi, mentre l'utente Y non soffre di alcuna limitazione.
...il primo problema che vedo e': cosa si intende per "utente X". Potrei 
intuire un indirizzo email mittente (envelope sender e/o From: header), 
ma mi pare una limitazione molto blanda, essendo dati mistificabili da 
chiunque...
Lavorando anche con altri dati (come l'ip di provenienza, l'AUTH 
mittente togliendo la possibilita' di relay dagli ip dei client di 
posta, modificando i comportamenti sulla ricezione di posta per 
indirizzi locali, ecc..) "forse" sarebbe possibile fare qualcosa di piu' 
preciso (anche se ancora limitato).
Comunque, se ti basta l'email a garanzia, il controllo dovrebbe essere 
fatto immediatamente a livello di dialogo SMTP, nella fase "RCPT TO": 
qui dovresti avere anche il mittente (MAIL FROM) oltre al destinatario.
Quindi puoi decidere in base al recipient, confrontando la tua lista, se 
ritornare un codice 250 (DSN 2.1.0) di accettazione o un codice d'errore 
550 (DSN 5.7.1) per ogni richiesta RCPT TO.
Il sendmail dovrebbe permetterti di farlo, ma credo che sara' una lunga 
sofferenza se non lo conosci e non hai dimestichezza con le regole di 
rewrite, basate sulle regexp, del 
sendmail.cf
. Per darti un vaga idea di 
dove andrai a mettere le mani, la sezione in questione da modificare 
inizia cosi': :-)
######################################################################
###  check_rcpt -- check SMTP `RCPT TO:' command argument
######################################################################
SLocal_check_rcpt
Scheck_rcpt
R$*                     $: $1 $| $>"Local_check_rcpt" $1
R$* $| $#$*             $#$2
R$* $| $*               $@ $>"Basic_check_rcpt" $1
SBasic_check_rcpt
# empty address?
R<>                     $#error $@ nouser $: "553 User address required"
R$@                     $#error $@ nouser $: "553 User address required"
# check for deferred delivery mode
R$*                     $: < $&{deliveryMode} > $1
R< d > $*               $@ deferred
R< $* > $*              $: $2
######################################################################
R$*                     $: $1 $| @ $>"Rcpt_ok" $1
R$* $| @ $#TEMP $+      $: $1 $| T $2
R$* $| @ $#$*           $#$2
R$* $| @ RELAY          $@ RELAY
R$* $| @ $*             $: O $| $>"Relay_ok" $1
R$* $| T $+             $: T $2 $| $>"Relay_ok" $1
R$* $| $#TEMP $+        $#error $2
R$* $| $#$*             $#$2
R$* $| RELAY            $@ RELAY
R T $+ $| $*            $#error $1
# anything else is bogus
R$*                     $#error $@ 5.7.1 $: "550 Relaying denied"
....
ciao
-- 
Cybertoldo
Per rispondermi via email, sostituisci moc.liamg con 
gmail.com

 inizia cosi': :-)
Disgraziatamente non ho esperienza con il .cf; mi sono limitato a manipolare
il .mc. Ma se serve mi ci applichero`.
Grazie ancora.
-- 
--> x3m <--