Pagina 1 di 2

'sendmail'... Come configurarlo?

Inviato: dom 14 ago 2005, 15:02
da legionario
Ciao a tutti!

Ho appena configurato sendmail creando il file '/etc/mail/sendmail.cf' a partire dal template 'sendmail-slackware.mc', ma quando provo a inviare un messaggio non succede niente:
echo prova | sendmail pasticcio@libero.it

Questo e' il mio 'sendmail.mc' dal quale ho creato 'sendmail.cf':

--------------------------------
include(`../m4/cf.m4')
VERSIONID(`default setup for Slackware Linux')dnl
OSTYPE(`linux')dnl
dnl# These settings help protect against people verifying email addresses
dnl# at your site in order to send you email that you probably don't want:
define(`confPRIVACY_FLAGS', `authwarnings,novrfy,noexpn,restrictqrun')dnl
dnl# Uncomment the line below to send outgoing mail through an external server:
define(`SMART_HOST',`smtp.libero.it')
dnl# No timeout for ident:
define(`confTO_IDENT', `0')dnl
dnl# Enable the line below to use smrsh to restrict what sendmail can run:
dnl FEATURE(`smrsh',`/usr/sbin/smrsh')dnl
dnl# See the README in /usr/share/sendmail/cf for a ton of information on
dnl# how these options work:
FEATURE(`use_cw_file')dnl
FEATURE(`use_ct_file')dnl
FEATURE(`mailertable',`hash -o /etc/mail/mailertable.db')dnl
FEATURE(`virtusertable',`hash -o /etc/mail/virtusertable.db')dnl
FEATURE(`access_db', `hash -T<TMPF> /etc/mail/access')dnl
FEATURE(`blacklist_recipients')dnl
FEATURE(`local_procmail',`',`procmail -t -Y -a $h -d $u')dnl
FEATURE(`always_add_domain')dnl
FEATURE(`redirect')dnl
dnl# Turn this feature on if you don't always have DNS, or enjoy junk mail:
dnl FEATURE(`accept_unresolvable_domains')dnl
EXPOSED_USER(`root')dnl
dnl# Also accept mail for localhost.localdomain:
LOCAL_DOMAIN(`localhost.localdomain')dnl
MAILER(local)dnl
MAILER(smtp)dnl
MAILER(procmail)dnl
---------------------

Secondo voi dov'e' l'errore? In realta' ho solo inserito l'smtp server del mio provider, per il resto ho lasciato tutto di default...

Grazie per l'aiuto!

A presto

Inviato: lun 15 ago 2005, 14:23
da legionario
Qualche idea?

Inviato: lun 15 ago 2005, 18:34
da Paoletta
secondo me dovresti creare la mailertable, altrimenti sendmail come fa a a sapere se sei abilitato o no per mandare mail...

guarda il file /etc/mail/mailertable

ciao!

Inviato: mer 17 ago 2005, 19:31
da legionario
Grazie per la riposta Paole'!

Ho inserito questa riga nel mailertable:

Codice: Seleziona tutto

libero.it       smtp:mail.libero.it

ed ho creato il mailertable.db con questo comando:

Codice: Seleziona tutto

makemap hash /etc/mail/mailertable.db < /etc/mail/mailertable

quindi ho dato questo comando prima da root e poi da utente:

Codice: Seleziona tutto

echo prova | sendmail cicciopasticcio@libero.it

Ma il file /var/log/maillog mi da questo output come root:

Codice: Seleziona tutto

Aug 17 19:21:49 legionario-pc_fisso sendmail[5717]: j7HHLn4J005717: j7HHLn4K005717: DSN: Service unavailable
Aug 17 19:21:49 legionario-pc_fisso sendmail[5717]: j7HHLn4K005717: to=root, delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=31030, relay=[127.0.0.1], dsn=5.0.0, stat=Service unavailable
Aug 17 19:21:49 legionario-pc_fisso sendmail[5717]: j7HHLn4K005717: j7HHLn4L005717: return to sender: Service unavailable
Aug 17 19:21:49 legionario-pc_fisso sendmail[5717]: j7HHLn4L005717: to=postmaster, delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=32054, relay=[127.0.0.1], dsn=5.0.0, stat=Service unavailable
Aug 17 19:21:49 legionario-pc_fisso sendmail[5717]: j7HHLn4K005717: Losing ./qfj7HHLn4K005717: savemail panic
Aug 17 19:21:49 legionario-pc_fisso sendmail[5717]: j7HHLn4K005717: SYSERR(root): savemail: cannot save rejectedemail anywhere

mentre da utente il log e' il seguente:

Codice: Seleziona tutto

Aug 17 19:21:56 legionario-pc_fisso sendmail[5720]: j7HHLuIf005720: from=ale, size=6, class=0, nrcpts=1, msgid=<200508171721.j7HHLuIf005720@legionario-pc_fisso>, relay=ale@localhost
Aug 17 19:21:56 legionario-pc_fisso sm-mta[5721]: j7HHLuu8005721: tcpwrappers (localhost, 127.0.0.1) rejection
Aug 17 19:21:56 legionario-pc_fisso sendmail[5720]: j7HHLuIf005720: to=pasticcio@libero.it, ctladdr=ale (1000/100), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30006, relay=[127.0.0.1] [127.0.0.1], dsn=5.0.0, stat=Service unavailable

In pratica da utente, a differenza che da root, il messaggio di ritorno mi viene salvato in '/home/ale/dead.letter' ...per il resto pero' e' tutto uguale...il messaggio non viene inviato....

Questo e' il contenuto di '/home/ale/dead.letter':

Codice: Seleziona tutto

From ale Wed Aug 17 19:21:56 2005
Return-Path: <ale>
Received: (from ale@localhost)
        by legionario-pc_fisso (8.13.3/8.13.3/Submit) id j7HHLuIf005720
        for pasticcio@libero.it; Wed, 17 Aug 2005 19:21:56 +0200
Date: Wed, 17 Aug 2005 19:21:56 +0200
From: Alessio <ale>
Message-Id: <200508171721.j7HHLuIf005720@legionario-pc_fisso>

prova

Ho letto diversi howto, ma non mi sono stati molto di aiuto... Certo che e' proprio un casino configurare questo benedetto sendmail su un sistema desktop.

Scusa per la prolissita'

Grazie per l'aiuto

Saluti

Inviato: mer 17 ago 2005, 20:52
da Paoletta
dovresti sistemare anche virtusertable...
comunque da quello che ho capito è che tu invii al tuo provider 1 mail che poi questo spedirà al destinatario...giusto?
se sì, come fai ad autenticarti presso il tuo provider? se utilizzi l'indirizzo della macchina (come legionario@localhost) questo non ti riconoscerà; per farlo è necessario che tu ti "mascheri" utilizzando il tuo indirizzo e-mail riconosciuto dal provider, e per questo è necessario il masqueradnig (quindi se non ricordo male proprio la virtusertable)
ma la mia è solo 1 ipotesi...

ciao!

Inviato: mer 17 ago 2005, 20:54
da Paoletta
scusami..il tuo indirizzo locale è "ale@localhost" (non legionario@localhost) che va bene per i messaggi che hanno come destinazione un utente sulla macchina stessa, ma non va bene per l'esterno..per quello secondo me ti devi "mascherare" (cioè effettuare masquerading)

ciao!

Inviato: mer 17 ago 2005, 20:57
da legionario
Ok! Grazie per la dritta! Ora mi metto sotto per sistemare la faccenda...

Ti faccio sapere...

Ciauz!!

Inviato: mer 17 ago 2005, 23:34
da legionario
Dunque... ho creato `sendmail.cf` aggiungendo, in `sendmail.mc`, le seguenti opzioni relative al masquerading:

Codice: Seleziona tutto

MASQUERADE_AS(`libero.it')
FEATURE(`masquerade_envelope')
nel file virtusertable ho inserito questa riga:

Codice: Seleziona tutto

ale@localhost           ciccio@libero.it

Ma in `/var/log/maillog` compare sempre `relay=ale@localhost`:

Codice: Seleziona tutto

Aug 17 23:16:28 legionario-pc_fisso sendmail[6394]: j7HLGRgF006394: from=ale, size=6, class=0, nrcpts=1, msgid=<200508172116.j7HLGRgF006394@legionario-pc_fisso>, relay=ale@localhost
Aug 17 23:16:28 legionario-pc_fisso sm-mta[6395]: j7HLGSSX006395: tcpwrappers (localhost, 127.0.0.1) rejection
Aug 17 23:16:28 legionario-pc_fisso sendmail[6394]: j7HLGRgF006394: to=pasticcio@libero.it, ctladdr=ale (1000/100), delay=00:00:01, xdelay=00:00:00, mailer=relay, pri=30006, relay=[127.0.0.1] [127.0.0.1], dsn=5.0.0, stat=Service unavailable
Come vedi non solo non mi trasforma ale@localhost in ciccio@libero.it ma non tenta neanche di comunicare con l'smtp server di libero `smtp.libero.it`... infatti questo e' il messaggio che mi torna indietro quando do `echo prova | sendmail pasticcio@libero.it`

Codice: Seleziona tutto

From ale Wed Aug 17 23:26:13 2005
Return-Path: <ale>
Received: (from ale@localhost)
        by legionario-pc_fisso (8.13.3/8.13.3/Submit) id j7HLQDqH006416
        for pasticcio@libero.it Wed, 17 Aug 2005 23:26:13 +0200
Date: Wed, 17 Aug 2005 23:26:13 +0200
From: Alessio <ale>
Message-Id: <200508172126.j7HLQDqH006416@legionario-pc_fisso>

prova
Non e' che hai sottomano un `sendmail.mc` funzionante? Secondo me il problema e' tutto li'...sono giorni che cerco in google ma non ho ancora trovato un file di configurazione idoneo per l'invio di posta da un comune ambiente desktop... Ho letto svariate volte il file README ma non e' che sia molto chiaro...

Grazie ancora

Salutoni

Inviato: gio 18 ago 2005, 12:04
da Paoletta
purtroppo non ho 1 file da darti...queste cose le ho viste solo in teoria,non in pratica...
comunque ho controllato e ho visto che per attivare il masquerading la tabella necessaria è genericstable...scusa! :oops:

MASQUERADE_AS serve per la parte dell'indirizzo e-mail dopo la @...cioè se tu sei ale@localhost ti dovrebbe mascherare con ale@libero.it; tu invece hai bisogno del mascheramento di tutto l'indirizzo...

il file che devi scrivere con la traduzione da indirizzo interno ad esterno è: /etc/mail/genericstable
ti servono le feature:

FEATURE(`genericstable')
FEATURE(`masquerade_envelope')
FEATURE(`all_masquerade')
FEATURE(`always_add_domain')

fammi sapere!

Inviato: gio 18 ago 2005, 12:05
da Paoletta
chiaramente le feature vanno aggiunte in sendmail.mc;
nel file ci va solo la traduzione

ale@localhost ciccio@libero.it

spero che funzi...

Inviato: ven 19 ago 2005, 18:13
da legionario
Allora...ho fatto come mi hai suggerito ma il risultato e' sempre lo stesso. Appare sempre lo stesso errore con `relay=ale@localhost`.

Sul sito di sendmail ho trovato le istruzioni per gestire il relay. A quanto pare, nelle ultime versioni di sendmail e' stato vietato il relay, pertanto per abilitarlo bisognerebbe attivare alcune opzioni e inserire il mail sender nell'access database. Da quanto ho capito queste sarebbero le opzioni da attivare:

FEATURE(`promiscuous_relay')
FEATURE(`relay_mail_from')

Pero' non ho capito bene cosa dovrei inserire in `/etc/mail/access`

Questo e' il sito http://www.sendmail.org/m4/anti_spam.html#access_db

Secondo te potrebbe essere questa la strada giusta?

Inviato: ven 19 ago 2005, 18:55
da Paoletta
per me il relay è superfluo (ma magari mi sbaglio), nel senso che invece dovresti riuscire a "mascherarti" dietro il tuo indirizzo esterno; è anche da dire che però non sei tu il gestore del dominio "libero.it"...
comunque rileggendo il tuo file di configurazione mi è venuto in mente che la feature use_cw_file (che tu hai abilitato) fa in modo che nel file /etc/mail/local-host-names ci debba essere l'elenco dei domini per cui il tuo mail server accetta posta...il nome della tua macchina c'è? Se non c'è aggiungilo e poi fai come ti ho detto per la tabella "genericstable"...

P.S. tra poco vado in vacanza...ma dopo le vacanze, se hai ancora bisogno, cercherò di riprodurre sulla mai macchina quello che vuoi far tu...

ciao!

Inviato: sab 20 ago 2005, 12:31
da legionario
Sicuramente il tuo ragionamento e' corretto, pero' non sono riuscito ad inviare la posta con il masquerading e con la modifica del genericstable (e relativa creazione di `genericstable.db`). Sicuramente sbagliero' qualcosa.... :(

Il file local-host-names non credo faccia al caso mio perche' contiene i domini dai quali posso accettare la posta, ma a me serve inviarla dal mio pc non riceverla...

Comunque non so come ringraziarti per l'aiuto che mi stai dando... ti auguro buone vacanze e se, al tuo ritorno, dovessi trovare la soluzione fammi sapere. Dal 27 agosto fino alla fine di settembre saro' fuori per lavoro, per cui se cercherai di contattarmi tramite slacky non mi troverai... se hai qualche novita' puoi contattarmi su ` grillo punto alessio at libero punto it `. Grazie ancora... a risentirci presto...

Inviato: sab 20 ago 2005, 13:01
da Paoletta
ok!
comunque mi sa che c'entra...alla fine sendmail dovrebbe ricevere posta dalla macchina locale, mascherarla ed inviarla...

se il contenuto del tuo file /etc/hosts relativo alla tua macchina è "darkstar.example.net" prova ad aggiungere questo al file in questione...

ciao!

Inviato: sab 20 ago 2005, 13:48
da legionario
Niente da fare! :(

Non capisco perche' i messaggi di errore siano sempre uguali indipendentemente dalle modifiche che faccio ai file di configurazione... eppure l'unica cosa sicuramente corretta e' la procedura di configurazione...

Mah! Non credevo fosse cosi' difficile inviare una stupida email con il piu' antico e conosciuto mailer... possibile che nessuno utilizzi questo benedetto sendmail? Paole'...sei la mia unica speranza... :wink: (senza impegno, s'intende..) a questo punto le ho provate veramente tutte.... :(