[inizio] [indice generale] [precedente] [successivo] [indice analitico] [contributi]


303. Posta elettronica

303.1 Scaricare, smistare e statistica messaggi scaricati

Qualcuno mi può descrivere configurazioni funzionanti di fetchmail e procmail per scaricare e smistare la posta?

Ecco la mia configurazione. Qui c'è un esempio relativo allo scaricamento
e allo smistamento dei miei messaggi dai diversi server di posta. I messaggi
scaricati (qui c'è l'esempio della mailing list 'angolinux') possono essere
spostati, reindirizzati o cancellati in base a filtri.

Io faccio tutto con uno script chiamato MAIL:


---------- BEGIN: /script/MAIL ---------

#!/bin/bash

# creo i file temporanei (a zero byte) per contare quante mail sono
# arrivate. 
cat /dev/null > .angolinux.count

# scarico la posta
fetchmail -v

# scrivo il report
echo
echo "      +--------+"
echo "      | report |"
echo "      +--------+"
echo
echo "angolinux mail:`wc -w < ~/.angolinux.count`"

# rimuovo i file temporanei di conteggio
rm ~/.angolinux.count 2> /dev/null

---------- END: /script/MAIL ---------


nella mia directory home c'è il file .fetchmailrc per dire a fetchmail 
come scaricare la posta tramite POP3 (server, login, pass, ecc.)
e smistarla tra i vari utenti (nel mio caso sono io -oltre a root- l'unico utente):


---------- BEGIN: /home/fritz/.fetchmailrc ---------

poll "mail.dada.it" proto pop3 user "fritz" with pass "CENSORED" is
        "fritz" here forcecr smtpaddress localhost
poll "mail.mdsnet.it" proto pop3 user "fritz2" with pass
        "CENSORED" is "fritz" here forcecr smtpaddress localhost

# così per tutti gli altri account pop3 [...]

---------- END: /home/fritz/.fetchmailrc ---------


e .procmailrc:


---------- BEGIN: /home/fritz/.procmailrc ---------

DATE=`date +%m-%y`
PATH=/bin:/usr/bin:/usr/bin
MAILDIR=$HOME/mail      #you'd better make sure it exists
DEFAULT=/usr/spool/mail/fritz
LOGFILE=~/.log_procmail   #recommended

# -- BACKUP DI TUTTE LE MAIL IN backup/all.gz --
# quando si maneggia con la posta, è sempre meglio fare un backup
# preventivo di tutto, per evitare di poter perderla a causa di una cattiva
# configurazione. Queste due righe mi hanno salvato due volte appena ho iniziato a
# giocare con procmail, causa cattiva impostazione e e-mail sparite.
:0 c
| gzip >> backup/all.$DATE.gz

# -- ANGOLINUX --
# funziona così: se c'è una mail incrementa il file contatore di una
# parola ("1" o "oblurasci" sarebbe stato equivalente, poiché dopo
# "wc -w" conta solo il numero di parole presenti) senza cancellarla,
# poi una copia la mette nella cartella angolinux, e un'altra la mette come
# backup (sì sono un po' paranoico, pena l'esperienza) nel file
# backup/angolinux.$DATE.gz, che le salva in base al mese.
:0 c
* ^To.*angolinux@systems.it
| echo 1 >> ~/.angolinux.count
:0 Ac:
angolinux
:0 A:
| gzip >> backup/angolinux.$DATE.gz


[...] (tutte le altre mailing list)

# -- MISC: tutte le altre --
# le mail che arrivano fino qui non appartengono a nessuna mailing list,
# sono le mie personali, quindi lascio che il client (nel mio caso
# Pine) le prenda da /var/spool/mail/fritz

:0 c
| echo 1 >> ~/.misc.count
:0 Ac:
| gzip >> backup/misc.$DATE.gz


---------- END: /home/fritz/.procmailrc ---------

questa è la mia configurazione, adatta per Pine, ma abbastanza uniforme per
molti gestori di posta.

A rigor di cronaca, ecco il risultato del comando MAIL non connessi, quindi
non scarica nulla, perché non riesce a connettersi al server pop3:

darkstar:~$ MAIL
fetchmail: 5.1.2 querying mail.dada.it (protocol POP3) at Thu, 10 Feb 2000
17:21:27 +0100 (CET)
fetchmail: POP3 connection to mail.dada.it failed: temporary name server
error
fetchmail: Query status=2
fetchmail: normal termination, status 2

[...]

      +--------+
      | report |
      +--------+

angolinux mail:      0
 n3wblist mail:      0
 sppgroup mail:      0
 blacksun mail:      0
  bugtraq mail:      0
 pizza_ml mail:      0
    md_ml mail:      0
     misc mail:      0


D: Alex
R: fritz

303.2 You have new mail all'avvio - come leggere i messaggi

Ad ogni avvio mi appare "You have new mail" , ma digitando 'mail' la risposta è "command not found".

Non hai installato il comando mail. Se lo state facendo per root, è giusto 
così (per motivi di sicurezza è bene che root non usi programmi per la 
posta), e potete usare:

less /var/spool/mail/root

altrimenti è consigliabile installare un programma per la posta (non tanto
mail, che è piuttosto poco intuitivo, quanto ad esempio mutt).

D: Vittorio
R: Paolo Massei

303.3 Blocco della macchina su sendmail

Ogni volta che accendo la macchina, durante l'avvio mi si blocca su "sendmail" e devo aspettare qualche minuto. È molto noioso, posso evitarlo?

Se la macchina non è direttamente connessa alla rete, modifica 
il file /etc/hosts affinché contenga:

127.0.0.1 localhost

Se invece è connessa costantemente alla rete 
ed ha un IP fisso, sendmail si blocca se /etc/hosts contiene la riga:

127.0.0.1  localhost   host_name

modificalo così:

127.0.0.1  localhost
w.x.y.z    host_name

303.4 Associare un file di testo ad un messaggio da riga di comando

Conosco il comando mail -s "soggetto del messaggio" ma poi non riesco a capire come fare per associare anche un testo al messaggio.

mail utente@server -s "Soggetto del messaggio" < file.txt

oppure

cat file.txt | mail -s "Soggetto del messaggio" utente@server

D: Marco Masini
R: Maurizio Napolitano, Michele paint

303.5 Sendmail e antispam

Qual è l'indirizzo cui fare telnet per verificare la configurazione di sendmail relativamente all'antispamming?



mail-abuse.org

D: Maurizio
R: Stefano Giunchi

303.6 Applicazione per eliminare duplicati di posta elettronica

Come faccio ad eliminare i duplicati dei messaggi di posta elettronica?

Il programma "formail" ha un'opzione per togliere i duplicati,
controllando la stringa di identificazione che viene via via memorizzata in un
file temporaneo durante la scansione della mailbox.

In particolare, ecco lo script che ho costruito:

------------------------

#!/usr/bin/bash
> cache.tmp
cp $1 $1.original
formail -D 2000000 cache.tmp -s <$1 > x.tmp
cp x.tmp $1
rm x.tmp

------------------------

Lo script l'ho chiamato "dedup".
Occorre lanciarlo nella directory dove stanno le cartelle (in formato MBOX),
tipicamente ~/Mail, mettendo come argomento il nome della cartella stessa.
Il parametro dopo -D rappresenta la dimensione massima (impostabile a piacere)
che deve avere il file temporaneo.


Nel caso di più cartelle di posta, ecco qui un altro script che automatizza
ogni cosa:


-----------   CUT HERE  -------------

#!/usr/bin/bash
export MAILDIR=~/Mail
export PROGDIR=~/scripts
cd $MAILDIR
rm cmd
rm .*.index
ls -1 > lista
awk '$1!="lista" && match($1,"dedup")==0 {printf("echo \042Esamino mailbox
%s.\042\n$PROGDIR/dedup %s\n",$1,$1);}' lista > cmd
chmod 755 cmd
./cmd
rm -f cmd cache.tmp lista
cd

-----------   CUT HERE  -------------

ovviamente cambiando le directory secondo il proprio ambiente.
Lo script, che ho chiamato "dedup_all", in pratica prepara la lista delle
cartelle, poi con awk crea uno script che richiama lo script mostrato prima per
ogni cartella da ripulire. Alla fine dell'elaborazione, oltre alle cartelle
ripulite, si hanno a disposizione anche le cartelle originali (qualora qualcosa
fosse andato storto). Esse, col suffisso ".original", possono benissimo essere
cancellate se si vede che l'operazione è andata a buon fine.

R: Roberto Del Bianco

303.7 File .forward

Quale è la sintassi esatta del file .forward, per poter reindirizzare le e-mail che mi arrivano ad un indirizzo e-mail verso un altro indirizzo?

devi specificare l'utente (o gli utenti separati da una virgola), se vuoi ad esempio
che venga fatto un reindirizzamento completo imposta il file $HOME/.forward a:

indirizzo destinatario

se invece vuoi un duplicato delle mail:

indirizzo1, indirizzo2

R: Antonio Doldo

303.8 Scegliere la signature in modo casuale

Come è possibile scegliere la signature in maniera casuale?

Con sig_rotate.pl (su www.Freshmeat.net)

D: freefred
R: ZioBudda

303.9 .fetchmail.rc, un esempio

Come si configura .fetchmailrc?

Il mio file di configurazione
(.fetchmailrc) ha una serie di voci (una per ciascun server di posta,
ovviamente) con il seguente aspetto:

# MY ISP server entries
#----------------------------
poll "pop.tiscalinet.it"
protocol pop3
username "tuo_nomeutente_presso_tiscali"
password "tua_password"
#----------------------------

e con tale configurazione non ho problemi con alcuno dei server di posta
che utilizzo.

Inoltre la riga di comando con cui viene avviato fetchmail è:

fetchmail -d 300

che controlla la presenza di posta sul server ogni 300 secondi.
Spesso è necessario un pò di attesa (1 minuto circa) prima che fetchmail
cominci effettivamente a scaricare la posta.

D: Antonio Bellezza
R: Maurizioc

303.10 Esempio di file di configurazione fetchmail e procmail

Qulacuno mi mostra i propri .fetchmailrc e .procmailrc funzionanti?

.fetchmailrc

poll pop.tiscalinet.it with proto POP3 user "user" password "pass" \
   mda '/usr/bin/procmail -d  %T'

=============

.procmailrc

PATH=/bin:/usr/bin:/usr/bin
MAILDIR=$HOME/mail       #you'd better make sure it exists
DEFAULT=$MAILDIR/altre   #completely optional
LOGFILE=$MAILDIR/log     #recommended

:0:
* ^TOmioindirizzodiposta@mioprovider.it
inbox


R: Vanni Brutto

303.11 Qmail e fetchmail

Fetchmail è necessario in un sistema Qmail per scaricare i messaggi o qmail-smtpd può farlo da solo?

È necessario, perché qmail da solo riceve i messaggi solo in modalità
"push", ovvero, quando sono inviati da altre macchine. Per riceverli in
modalità "pull", con qmail, così come con tutti gli altri agenti di 
trasferimento di posta, è necessario fetchmail o un suo equivalente.

Del resto, fetchmail altro non fa che prendere i messaggi dal provider
con il protocollo POP3 (in modalità "pull") e passarli all'agente di
trasferimento di posta locale con il protocollo SMTP (in modalità "push").

D: LRiva
R: Luciano Di Lucrezia

303.12 Configurazione fetchmail

Come faccio a configurare Fetchmail in modo che scarichi anche la posta di altri utenti e la ridistribuisca (agli altri utenti)?

defaults proto pop3
poll <POP3> user <ut1> pass <pass1> is <localhost> here mda \ 
"procmail -d <ut1>"
poll <POP3> user <ut2> pass <pass2> is <localhost> here mda \
"procmail -d <ut2>"
...............

(procmail ti serve se vuoi filtrare la posta in diversi modi...)

Ovviamente i termini entro parentesi acute nascondono i corrispondenti
valori reali. I valori <POP3> saranno diversi, se i provider sono diversi.

D: Michele Dionisio
R: Gaspare Albano, Gianpaolo Racca

303.13 Fetchmail non scarica

Ho appena configurato fetchmail con fetchmailconf (modalità 'novice') ma nello scaricare la posta si blocca, restituendomi il messaggio:

1 message for giuliano at mail.xxxxxxxx.it (888 bytes).
reading message 1 of 1 (888 bytes) fetchmail: SMTP connect to localhost
failed: No route to host
fetchmail: SMTP transaction error while fetching from mail.xxxxxxx.it
fetchmail: Query status=10

La configurazione di .fetchmailrc è:

# Configuration created Sun Jul 18 12:57:43 1999 by fetchmailconf
set postmaster "giuliano"
poll mail.xxxxxxx.it with proto POP3
       user "giuliano" there with password "*******" is giuliano here

Qualche idea?

Fetchmail invia in maniera predefinita la posta presa dal server remoto al server
di posta locale. Se controlli il file di log vedi:

SMTP connect to localhost failed: No route to host

il che significa che lui cerca di collegarsi a localhost (cioè a se stesso)
ma non trova la strada giusta. 

303.14 I client di una rete non riescono ad inviare i messaggi al di fuori della rete stessa

Ho una rete interna con gateway e server di posta sulla stessa macchina. Non riesco ad inviare la posta dall'interno della rete verso l'esterno; dal server invece, tutto funziona.

Devi abilitare il 'relay' per i client.
Se non specificato diversamente, sendmail dovrebbe leggere
gli ip abilitati nel file /etc/mail/relay-domains.
Se non ce l'hai, crealo e inserisci gli ip delle macchine 
che dovranno usare il gateway come server di posta.

Esempio:

192.168.1.1
192.168.1.2
192.168.1.3

D: Carlo Ranieri
R: Elisa Manara

303.15 Scaricare la posta con mutt

Sto cercando di configurare mutt. Riesco a spedire i messaggi, ma se provo a scaricarli, ricevo il messaggio:

l'host POP non è stato definito.

In .fetchmailrc ho messo:

poll popmail.iol.it
proto pop3
user skywalker2 password miapassword
keep

Perché non riesco?

Utilizza questa sintassi:

poll popmail.iol.it proto POP3
user skywalker2 password "tua_password" is tua_login here

In questo modo le e-mail vanno direttamente nella mailbox del tuo utente.

Se invece intendi configurare mutt per scaricare direttamente dal server pop
della iol, devi ricompilarlo col supporto per il pop e scrivere in .muttrc:

set pop_delete #per cancellare le mails dal server
set pop_host="popmail.iol.it"
set pop_port=110
set pop_pass="tua_pass"
set pop_user="skywalker2 

D: Vittorio Skywalker2
R: Elisa Manara, Dario

303.16 Scaricare la posta in automatico

Presto andrò in vacanza e vorrei che il computer scaricasse la posta. Vorrei che tutto funzionasse senza problemi e penso che Linux lo possa fare. (utilizzo fetchmail) Come?

Un crontab chiama un unico script più o meno così:

#!/bin/sh
pon
while ! (/sbin/ifconfig | grep -q ppp0)
do
        sleep 1
done
fetchmail
poff


dove "pon" è lo script che inizializza il collegamento, e "poff" chiude il
collegamento. Lo script non fa altro che aspettare,
scaricare la posta e chiudere il collegamento. Se non c'è posta il
collegamento viene chiuso subito, e se ci sono problemi tecnici, fetchmail va
in timeout dopo circa un minuto, dopo di che il collegamento viene comunque
chiuso.

D: Alessandro
R: Luciano Di Lucrezia

303.17 Come gestire due account di posta nel Netscape Messenger

<!> (Netscape)

Il Netscape gestisce solo un account di posta vero? C'è un modo per gestire più account?

Crei un account funzionante in Netscape.
Copi da parte le directory:

/home/nsmail e
/home/.netscape

Rientri in Netscape e modifichi le impostazioni con un altro utente.

Crei uno script che ti sostituisca a richiesta le "due" directory:

/home/nsmail e
/home/.netscape.

Se poi vuoi mantenerti gli stessi messaggi e le stesse caselle di posta, cambia
solo la directory .netscape .

D: MaX in the FaX
R: Il Paolone

303.18 File allegati alle e-mail codificati

Mi capita talvolta di ricevere via e-mail degli allegati mime inseriti direttamente nel testo e quindi non decodificati automaticamente dal client e-mail.

Non sono allegati mime ma uuencode e li decodifichi salvando il messaggio e
usando il comando

uudecode -o nomefile filesalvato

R: Gwido Trotter

303.19 Alcune configurazioni di postfix

Vorrei chiedere due cose su postfix:

1) Come faccio a ricevere la posta in locale (tipo /etc/sendmail.cf) perché mi restituisce il solito 'relay denied'.

2) Procmail non mi divide più le mail in base al mio file  ~/.procmailrc, devo impostare qualcosa in /etc/postfix/main.cf ? tipo:

mailbox_command = /some/where/procmail</p>

Devi impostare la variabile '$mynetworks' in main.cf .
Oltre a mynetwork devi anche impostare la variabile $mydestination

# The mydestination parameter specifies the list of domains that this
# machine considers itself the final destination for.
#
# The default is $myhostname + localhost.$mydomain.  On a mail domain
# gateway, you should also include $mydomain. Do not specify the
# names of domains that this machine is backup MX host for. Specify
# those names via the relay_domains or permit_mx_backup settings for
# the SMTP server (see sample-smtpd.cf.
#
# The local machine is always the final destination for mail addressed
# to user@[the.net.work.address] of an interface that the mail system
# receives mail on (see the inet_interfaces parameter).
#
# Specify a list of host or domain names, /file/name or type:table
# patterns, separated by commas and/or whitespace. A /file/name
# pattern is replaced by its contents; a type:table is matched when
# a name matches a lookup key.  Continue long lines by starting the
# next line with whitespace.
#
#mydestination = $myhostname, localhost.$mydomain

D: Emanuele ntf
R: Mauro Sanna, Giorgio Basanisi

303.20 Cancellazione dei messaggi in kmail senza liberazione dello spazio

<!> (kmail)

Vi siete accorti che kmail non cancella i messaggi dalle varie cartelle ma li nasconde soltanto? Io mi sono ritrovato con dei file di diversi Mb con tutte le e-mail anche quelle cancellate, spostate, ed inviate, il tutto in un circolo vizioso che ingrossa a dismisura i file che contengono la posta.

Se compatti le cartelle questi messaggi scompaiono.

D: Enrico Porcarelli
R: Conver

303.21 Utilizzare i file .mbx di Eudora in Linux

Come è possibile importare circa 4 anni di posta accumlata in Eudora in un formato leggibile da un gestore di posta per X? (ad esempio Xfmail).

Considera che le cartelle di Eudora sono semplici file di testo,
le estensioni sono .mbx, quindi una volta copiati i file nella directory
$HOME/Mail (o dove ti pare) basta convertirli in testo Unix con dos2unix,
un'applicazione che trovi su tutti i mirror di sunsite:

$ dos2unix *.mbx

A questo punto ogni gestore di posta va bene.

D: Damiano
R: Antonio Doldo

303.22 Compatibilità Pegasus - Linux

Come è possibile importare in Linux i messaggi che ho in Pegasus (di Windows)

Il programma Pegasus Mail è in grado di creare delle cartelle
(Mail folders -> New) in formato compatibile con Unix (.mbx) 
in cui archiviare i messaggi: così per poterli 
trasportare su Linux è sufficiente copiare i file .mbx nella cartella
/home/user/Mail (ad esempio) e caricare un qualsiasi programma di 
gestione di posta elettronica per poterli leggere, modificare, ecc.

D/R: Andrea Maestri

303.23 Problema installazione tkrat

Ho installato l'rpm relativo a tkrat, e tutte le librerie necessarie. Il messaggio che mi viene restituito quando lancio il programma è questo:

/usr/lib/tkratlib/tkrat.exec: error in loading shared libraries

/usr/lib/libtc18.0.so: undefined symbol: stat

Se guardi nella pagina home di tkrat vedi nelle FAQ che questo errore è 
risolvibile solo scaricando il pacchetto in formato tar.gz e compilandolo.

R: Tommaso Bianchi

303.24 Problemi campo FROM: in Pine

<!> (Pine)

Ho configurato sendmail. Se invio posta col semplice comando mail pinco@pallino.it e do il comando sendmail -q la posta arriva a destinazione con l'intestazione corretta gtalese@libero.it. Tuttavia, se uso Pine la mia posta ha l'intestazione bart@yyyyy.it e non xxxxxx@yyyyyy.it. (bart è il nome utente locale) Dove sta l'errore? Aggiungo che ho una tipica connessione ppp.

Entra in pine, scegli 'setup configuration' e cerca la voce "customized-hdrs". 
Imposta quella variabile in questo modo:
customized-hdrs:From:xxxxxx@yyyyyy.it

A questo punto i messaggi avranno l'indirizzo da te voluto.

R: Alessio Martelli

---------------------------

LDR --- Copyright © 1999-2000 Gaetano Paolone --  bigpaul @ pluto.linux.it


[inizio] [indice generale] [precedente] [successivo] [indice analitico] [contributi]