'sendmail'... Come configurarlo?

Se avete problemi con l'installazione e la configurazione di Slackware postate qui. Non usate questo forum per argomenti generali... per quelli usate Gnu/Linux in genere.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Slackware, se l'argomento è generale usate il forum Gnu/Linux in genere.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Avatar utente
legionario
Linux 3.x
Linux 3.x
Messaggi: 603
Iscritto il: mer 8 dic 2004, 0:00
Località: Bergamo - Roma

'sendmail'... Come configurarlo?

Messaggio 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
Ultima modifica di legionario il mer 17 ago 2005, 23:37, modificato 2 volte in totale.

Avatar utente
legionario
Linux 3.x
Linux 3.x
Messaggi: 603
Iscritto il: mer 8 dic 2004, 0:00
Località: Bergamo - Roma

Messaggio da legionario »

Qualche idea?

Avatar utente
Paoletta
Staff
Staff
Messaggi: 3975
Iscritto il: lun 25 apr 2005, 0:00
Slackware: 14.2 - 64 bit
Desktop: fluxbox
Località: Varese

Messaggio 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!

Avatar utente
legionario
Linux 3.x
Linux 3.x
Messaggi: 603
Iscritto il: mer 8 dic 2004, 0:00
Località: Bergamo - Roma

Messaggio 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
Ultima modifica di legionario il mer 17 ago 2005, 23:36, modificato 1 volta in totale.

Avatar utente
Paoletta
Staff
Staff
Messaggi: 3975
Iscritto il: lun 25 apr 2005, 0:00
Slackware: 14.2 - 64 bit
Desktop: fluxbox
Località: Varese

Messaggio 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!

Avatar utente
Paoletta
Staff
Staff
Messaggi: 3975
Iscritto il: lun 25 apr 2005, 0:00
Slackware: 14.2 - 64 bit
Desktop: fluxbox
Località: Varese

Messaggio 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!

Avatar utente
legionario
Linux 3.x
Linux 3.x
Messaggi: 603
Iscritto il: mer 8 dic 2004, 0:00
Località: Bergamo - Roma

Messaggio da legionario »

Ok! Grazie per la dritta! Ora mi metto sotto per sistemare la faccenda...

Ti faccio sapere...

Ciauz!!

Avatar utente
legionario
Linux 3.x
Linux 3.x
Messaggi: 603
Iscritto il: mer 8 dic 2004, 0:00
Località: Bergamo - Roma

Messaggio 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

Avatar utente
Paoletta
Staff
Staff
Messaggi: 3975
Iscritto il: lun 25 apr 2005, 0:00
Slackware: 14.2 - 64 bit
Desktop: fluxbox
Località: Varese

Messaggio 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!

Avatar utente
Paoletta
Staff
Staff
Messaggi: 3975
Iscritto il: lun 25 apr 2005, 0:00
Slackware: 14.2 - 64 bit
Desktop: fluxbox
Località: Varese

Messaggio 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...

Avatar utente
legionario
Linux 3.x
Linux 3.x
Messaggi: 603
Iscritto il: mer 8 dic 2004, 0:00
Località: Bergamo - Roma

Messaggio 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?

Avatar utente
Paoletta
Staff
Staff
Messaggi: 3975
Iscritto il: lun 25 apr 2005, 0:00
Slackware: 14.2 - 64 bit
Desktop: fluxbox
Località: Varese

Messaggio 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!

Avatar utente
legionario
Linux 3.x
Linux 3.x
Messaggi: 603
Iscritto il: mer 8 dic 2004, 0:00
Località: Bergamo - Roma

Messaggio 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...

Avatar utente
Paoletta
Staff
Staff
Messaggi: 3975
Iscritto il: lun 25 apr 2005, 0:00
Slackware: 14.2 - 64 bit
Desktop: fluxbox
Località: Varese

Messaggio 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!

Avatar utente
legionario
Linux 3.x
Linux 3.x
Messaggi: 603
Iscritto il: mer 8 dic 2004, 0:00
Località: Bergamo - Roma

Messaggio 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.... :(

Rispondi