Newsgroup: it.comp.os.linux.iniziare
Titolo: mutt+fetchmail+sendmail (utilizzando più server smtp esterni)

Ciao a tutti.
E` da un po' che ho in testa di configurare la posta in modo alternativo
a come faccio di solito:
attualmente ho configurato solamente il solito client, nel caso
specifico sea monkey mail, ma potrebbe valere anche per tunderbird o per
opera-mail e per qualsisi altro client del genere.
In ambito Linux e altri Unix-like ho letto della possibilità di
configurare la posta in modo diverso, utilizzando altri strumenti.
Pertiamo dal MUA, su fedora avevo installato il buon Mutt, che mi sembra
essere dotato di una buona versatilità e configurabilità, inoltre è
testuale e questo mi piace.
Ho sottoscritto diversi account di posta, che utilizzo per scopi
diversi:
ognuno ha il proprio inidirizzo, ed il proprio server pop in entrata 
ed smtp in uscita.
Nei client diffusi (tuttofare) è facile impostare un nuovo account e
associargli indirizzo, nome utente, password, inidirizzo server i uscita
e server in entrata.
Come posso replicare questa situazione usando mutt, fetchmail e
sendamil?
Si riesce? (direi di sì...)
E` necessario anche procmail?
Da quanto ho capito finora mutt serve solo per leggere la posta,
sendmail per consegnarla sia in locale verso il mio utente, che verso
l'esterno (ma come fare ad impostare più server smtp associati a ciascun
account??? è questo il punto...). Fetchmail serve solo per scricare la
posta dai server pop e passarla a sendmail che la piazza di default in
/var/spool/mail/$utente (se non sbaglio). Procmail a rindirizzare la
posta a diverse mbox o qualcosa del genere (non è che mi sono
documentato molto in merito, devo essere sincero...).
Come potrei organizzare tutta la baracca?
grazie in anticipo. a presto. 8-D

 grazie in anticipo. a presto. 8-D
Ottima scelta, quella di mutt.
Pessima, a mio modestissimo avviso, quella di sendmail: consiglio il
passaggio a postfix, facilissimo da configurare, con una mole di
documentazione in rete da poter soddisfare qualsiasi voglia :)
Per quanto chiedi partirei da questo link:
- 
http://tinyurl.com/yotohj
e poi con la documentazione ufficiale e i motori di ricerca, per
approfondire l'argomento.
ciao.
-- 
(Togli TOGLIMI se vuoi rispondermi)
Sya-dasti-sya-nasti-sya-davak-tav-yaska
ave, oh Eris!
                 Libero Hagabard Celine

 ciao.
Arrisentirci! :-) 

 punti critici da impostare, anche in termini generali...
di base postfix manda direttamente la posta, senza passare da relay
hosts esterni:
http://www.postfix.org/BASIC_CONFIGURATION_README.html
"By default, Postfix tries to deliver mail directly to the Internet.
Depending on your local conditions this may not be possible or
desirable. For example, your system may be turned off outside office
hours, it may be behind a firewall, or it may be connected via a
provider who does not allow direct mail to the Internet. In those cases
you need to configure Postfix to deliver mail indirectly via a relay
host.
Examples (specify only one of the following):
    /etc/postfix/
main.cf
:
        relayhost =                     (default: direct delivery to                                          
                                                               Internet)
        relayhost = $mydomain           (deliver via local mailhub)
        relayhost = [mail.$mydomain]    (deliver via local mailhub)
        relayhost = [mail.isp.tld]      (deliver via provider mailhub)
The form enclosed with [] eliminates DNS MX lookups. Don't worry if you
don't know what that means. Just be sure to specify the [] around the
mailhub hostname that your ISP gave to you, otherwise mail may be
mis-delivered".
Il problema, con questo metodo, è che non tutti i provider accettano
mail da domini non qualificati (in particolare da utenti dialup), onde
evitare tonnellate di spam (che pare sia diventato il più grosso
problema di internet).
Quindi sei costretto a mettere il server smtp del provider con cui ti
colleghi.
Se tu ti colleghi ad internet via adsl, ed hai un solo abbonamento (come
sarebbe logico pensare, anche se non voglio farmi i fatti tuoi :), il
problema non dovrebbe porsi:
metti relayhost = 
relayhost.tuoprovider.it
e in questo modo spedisci la posta a chi vuoi (fino a prova contraria).
Se, invece, sei un utente dialup non adsl, e ti collegghi con diversi
provider, allora mi sa che ti tocca andare di script, per far si che
quando ti colleghi al provider1, postfix legge il main.cf_provider1,
quando ti colleghi al provider2, postfix legge il main.cf_provider2,
etc etc.
quanto al pop, che non ne abbiamo parlato, ma è il "vero" problema
quando si ha diversi account, perché molti provider non permettono di
scaricare la posta se non ci si collega a loro direttament, la
risposta, per quel che so io, si chiama freepops:
http://tinyurl.com/64mcx
che in debian è già nei repository ufficiali.
Quindi (non tutto è essenziale):
- postfix come server MTA;
- freepops per scaricare la posta dagli account che non sono usabili 
  direttamente tramite il tuo provider;
- fetchmail per scaricare la posta dal tuo provider;
- procmail per filtrare la posta nelle diverse cartelle (e tanto altro, 
  volendo);
- spamassassin (o bogofilter, o spambayes o altro a scelta) per 
  eliminare il grosso dello spam [1]
- clamav, per eliminare i virus [2]
- mutt come MUA, per leggere la posta.
[1] e [2]
http://tinyurl.com/ynm99z
:-))


 
http://tinyurl.com/ynm99z
Grazie del link, e del riepilogo, spero di aver espresso con più
chiarezza anche il mio obiettivo ;-)
A presto :-)

 A presto :-)
ciao,


 2- 
pape...@paperopoli.com
 -->  
smtp.paperopoli.com
postfix file "transport" ... man transport ...
ciao ...
-- 
#include <stdio.h>
int main(void){char c[]={10,65,110,116,111,110,105,111,32,98,97,114,98,111,110,
101,32,60,104,105,110,100,101,109,105,116,64,116,105,115,99,97,108,105,110,101,
116,46,105,116,62,10,10,0};printf("%s",c);return 0;}

 postfix file "transport" ... man transport ...
 
Vi chiederei se aveste tempo, voglia etc...
Se poteste spiegarmi a grandi linee come funziona quel file...
non ho installato postfix, comunque il man è online, però l'inglese
complica un po' le cose...
Sto chiedendo un po' di pappa pronta, lo so...
Andrebbe bene anche un link a risorse in italiano attinenti alla
questione...
Se prima riesco a capire quello che devo fare da solo mi faccio vivo.
:-)

 :-)
intanto butta un occhio anche su questo, che magari ti semplifica la
vita:
http://tinyurl.com/2vqth9


Sto cercando ancora una soluzione alla configurazone della
posta...ommeglio
sto cercando di capirci qualcosa, ma più leggo e più mi confondo le
idee.
Da quanto ho capito lo strumento più semplice per i miei scopi potrebbe
essere una configurazione del tipo:
- mutt per leggere e comporre i messaggi.
- fetchmail per ricevere la posta.
- sendmail per ottenerla da fetchmail e farla giungere nella maildir
  (so che non è la scelta migliore, ma siccome sulla mia distro è
quelllo
  di default, mi pare..., non vorrei metterci mano per il momento).
- eventualmente procmail per filtrarla e gestirla (ma anche qua per il
  momento se posso farne ameno me lo risparmierei).
- ed infine per gestire la posta in uscita senza passare da sendmail, ma
  appoggiandomi direttamente sui server smtp esterni, avrei pensato ad
  msmtp, da quanto ho letto sul suo manuale (tutto rigorosamente in
inglese)
 
Vi allego questo link:
http://msmtp.sourceforge.net/doc/msmtp.html#Using-msmtp-with-Mutt
al aparagrafo "8.3 using msmtp with Mutt", c'è un esempio che direi cada
a
fagiuolo.
Nonostante abbia le idee parecchio confuse, vi chiederei un parere su
tutto
ciò esempio del link compreso. :-?
Spero in una risposta chiarificatrice... ;-)
A presto! :-D

 fagiuolo.
Aggiorno la situazione confermando la validità della soluzione proposta
sul manuale di msmtp (v.di link sopra)
Ora riesco a scegliere il server in uscita da mutt premendo "<tab>" prima 
di "y" per confermare l'invio.
Però il problema è che per ora, l'indirizzo del sender è ancora fisso e
devo cambiarlo a mano. "<ALT> + f". Non è molto comodo...
Spero di capirci qualcosa in più negli hook...documentazione ce n'è,
solo pensavo fosse un po' meno complicato... :-|
A questo punto vorrei porre una domanda che dovrebbe ramificare la
presente discussione:
Alcuni post prima mi si diceva (mi pare da parte di franco vite), che
l'utilizzo di diversi server in uscita non è necessario. Però io ho
notato che se modifico il sender e non utilizzo il giusto server la mail
non viene inviata: mi dice che quell'inidrizzo mail non è autorizzato ad
inviare posta da quel server (o qualcosa di simile...).
Mi spiego col solito esempio disney.
Mettiamo che sottoscrivo 2 account di posta:
topo...@topolinia.gulp
pape...@paperopoli.quack
mettiamo di voler usare un solo server in uscita, per esempio
mail.paperopoli.quack al quale abbiamo sottoscritto l'account paperino.
Il problema è:
come inviare posta usando come sender topolino ma allo stesso tempo
sfruttare il server mail.paperopoli.quack?
in mutt ho provato così:
ho messo nel from "Mikey <topo...@topolinia.gulp>"
e poi ho selezionato il server mail.paperopoli.quack.
All'invio della mail però mutt mi avverte che tale server non concede
l'invio in quanto il sender specificato non ha l'autorizzazione di usare
quella mail, cioè "topo...@topolinia.gulp".
In tale situazione mi pare che i server multipli in uscita siano
indispensabili....non vi pare?
chiederei allora a questo proposito a Franco Vite se potesse spiegarmi
più nel dettaglio il senso delle sue parole. Chiaramente ringrazio tutti
in in anticipo per la disponibilità. :-)
Arrisentirci.  ;-)

 Con fetchmail la ottieni in locale e la filtri con procmail.
Non vorrei rischiare di dire cavolate:
fetchmail scarica la posta in locale, ma dove?
da quanto ho capito io in realtà fetchmail prende la posta dal pop remoto
e la recapita in locale, dove c'è in ascolto il server smtp locale
(sendmail o postfix oppure procmail impostandolo espresamente nel
file di configurazione di fetchmail).
Intendevo cioè, che se per il momento non usassi procmail, allora mi
affiderei a sendmail.
Se non ho capito male nel file di configurazione di fetchmail si può
indicare di passare la posta direttamente a procmail bypassando sendmail...
In tal caso sì che sendmail non servirebbe più visto che per inviarla
poi uso msmtp.
Dico male?  :-|

 saluti
A presto e grazie dell'intervento :-D 

 idee.
Vi descrivo grosso modo la soluzione che ho adottato alla fine.
1- come MUA utilizzo mutt.
2- per inviare la posta sfrutto msmtp che bypassa il MTA di default
   (penso sia sendmail...ho slackware 11.0).
   Con questo programma non ho avuto problemi ad impostare più server
   smtp remoti da abbinare agli indirizzi (from) da cui invio la posta.
3- Per scaricare la posta ho scelto fetchmail
4- Vista l'esigenza di separare le mail in arrivo (principalmente in
   base ai vari pop che corrispondono alle rispettive identità), ho
   adottato procmail.
Chiaramente il grosso della gestione avviene attraverso le potenzialità
di mutt, che permette di stabilire regole che razionalizzano e tengono
tutto ordinato, nonchè semplificano e rendono più rapide le varie
manovre.
Ho tirato in ballo una macro (copiata e poi modificata a naso, però
funzionante) che permette di scegliere il server smtp premendo
ripetutamente il <tab>.
Attraverso gli hook ho poi stabilito che il sender (from) dei messaggi
che invio sia scelto automaticamente sulla base della mailbox dalla
quale sto scrivendo... ecc ecc.
Insomma mi sembra tutto abbastanza funzionale. :-)
Ho imparato anche qualcosa di nuovo... ;-)
Mi piacerebbe avere da voi un parere su tutta questa configurazione e
come avrebbe potuto essere gestita in modo alternativo (cioè
eventualmente senza msmtp ma con un MTA classico tipo sendmail o
postfix).
A questo proposito ribadisco i miei dubbi riguardo la necessità di
spedire i messaggi usando il campo from corrispondente al server smtp.
Cioè mi trovo nella situazione che se voglio inviare un messaggio usando
il server X presso cui ho sottoscritto un account X allora posso
utilizzarlo solo se nel campo from ho X.
Passo a voi la parola, sperando di ottenere qualche chiarimento.  :-)
A presto!  :-D