Pagine

Visualizzazione post con etichetta mail. Mostra tutti i post
Visualizzazione post con etichetta mail. Mostra tutti i post

giovedì 20 gennaio 2011

Thunderbird con Exchange

Premessa

Ieri mattina il mio amministratore di rete è entrato nel mio ufficio e con voce sommessa mi ha sussurrato che c'era qualcosa di cui voleva parlarmi: "Abbandoniamo Exim, il server di posta per Linux... Passiamo ad Exchange di Microsoft.... sai i BlackBerry... la sincronizzazione con ActiveDirectory... ed ho già guardato se il **tuo** Thunderbird supporta Exchange ma mi sa di no...."
Ero sgomento: davanti a me si prospettavano 2 anni di posta da dimenticare e soprattutto addio al mio client di posta elettronica preferito!!!

Exchange, lavora su un protocollo che si basa su una sorta di IMAP "modificato" per dialogare con autenticazione SSL. Ovviamente il protocollo non è standard ma proprietario e si chiama OWA: Outlook Web Access!
Questo protocollo non è gestito nativamente da Thunderbird ma soltanto dal client di Microsoft.
Tuttavia il caro e vecchio Google mi ha aiutato ancora una volta suggerendomi DavMail.

In questo articolo, dunque, vedremo come fare ad interfacciare Thunderbird con Exchange tramite DavMail!

Cosa è DavMail


DavMail è un gateway, ovvero una sorta di "ponte" che permette di utilizzare la posta elettronica ed il calendario tramite software che lavorano con protocolli standard (POP3/IMAP per ricevere posta, SMTP per inviare posta, CalDav per il calendario, LDAP per la rubrica) anche con il protocollo OWA di Exchange.
In poche parole, come spiega anche l'immagine qui sopra, la posta viene inviata e ricevuta su localhost.
Qui viene intercettata da DavMail che si pone come "server" tra Exchange ed il proprio client e "traduce" le richieste standard con il protocollo proprietario di Microsoft e viceversa.

La cosa estremamente interessante è che data la sua natura (è scritto in Java), può funzionare sia su Windows ma anche e soprattutto su Linux e MacOSX mettendo a disposizione di questi due sistemi operativi la possibilità di accedere al protocollo proprietario Microsoft pur mantenendo il proprio sistema operativo preferito.

L'installazione è semplice: per Windows si può seguire questa guida, mentre su Linux questa pagina.

E' possibile anche vedere la configurazione di Thunderbird in questa pagina.

Aggiungo la configurazione del mio DavMail in base alla richiesta di Alessandro (come si può vedere dai commenti in fondo a questa pagina):



Eventualmente sarà necessario abilitare la configurazione del proxy se ne usate uno in azienda.

Di seguito la configurazione del mio client di posta in ufficio :-)




lunedì 21 giugno 2010

feed parser e leggere gmail in python

Feed RSS

Questa tecnologia raccontata in breve, permette di avere un elenco cronologico dei post o articoli pubblicati su un determinato sito (ad esempio il feed rss di questo blog) o delle mail mandate ad un determinato account sottoforma di lista.
Il vantaggio di questa tecnologia è che se si "da in pasto" il feed rss ad un programma specifico come Thunderbird o Outlook, questi articoli appaiono come se fossero mail.
Questo comporta che l'utente non è più costretto a consultare il sito per vedere se ci sono stati aggiornamenti ma riceve un messaggio simile ad una mail.
La filosofia che governa questa tecnologia, dunque, è che sono gli aggiornamenti ad arrivare dall'utente e non il viceversa.
Tempo fa ho già parlato della tecnologia denominata feed RSS e se qualcuno fosse interessato ad approfondire può leggere questo articolo.
Molti sono i software che riescono a leggere agevolmente i feed: tra questi ho già citato Thunderbird ma esistono anche molti linguaggi di programmazioni che hanno dei moduli o delle librerie atte a questo scopo.
Oggi vi propongo feedparser, una libreria per python che serve proprio a leggere agilmente un feed rss.

Feedparser per python

Feedparser è un modulo python che può essere scaricato da questa pagina.
L'installazione non avviene tramite binari ma con il classico setup.py install.
La home page del progetto è piena di esempi pratici e vale la pena seguirli per comprendere la potenza di questo modulo in pochissimo tempo...
In questo esempio vi propongo una soluzione per vedere se sono arrivate nuove mail nel nostro account di posta elettronica gmail.
Il programma di seguito, dunque, una volta specificato il nome utente e password del nostro account gmail, è capace di leggere la lista delle ultime 20 mail e stampare a video il mittente e l'oggetto.
Ovviamente questo codice può essere la base per lo sviluppo di ulteriori funzionalità.

import feedparser

username="username@gmail.com" # modifica username con tuo user
password="password" # modifica la password con quella gmail
protocol="https://"
server="mail.google.com"

path="/gmail/feed/atom"
feedmail = feedparser.parse(protocol + username + ":" + password + "@" + server + path)


for i in xrange(len(feedmail.entries)):
print ""
print feedmail.entries[i].author_detail.email
print feedmail.entries[i].title

mercoledì 3 dicembre 2008

Mailx e blat, mail via shell su Linux e Windows

Premessa
Spesso, nella amministrazione di un computer, un servizio o un sito, può essere utile avere a disposizione un metodo che permetta di spedire una o più mail tramite shell.

Scenario
Gli scenari possibili sono veramente moltissimi e variegati. Giusto a titolo di esempio mi permetto di enunciare alcune mie esigenze:
  • Effettui il backup dei documenti presenti su una o più macchine e fai l'upload di tali backup su un server via ftp tutti i giorni: vuoi ricevere una mail che ti confermi l'avvenuta esecuzione della operazione
  • Hai un database Mysql su un server; ogni settimana fai un controllo che gli utenti si siano loggati negli ultimi 7 giorni: vuoi che una mail ti restituisca il report con i nominativi per poter chiamare coloro che non hanno effettuato il login
  • Hai un server con risorse limitate; ogni giorno effettui alcuni controlli e vuoi ricevere via mail un report esaustivo
Soluzione su linux
Coloro che usano linux possono utilizzare il pacchetto mailx.
Si controlli, quindi, che sia installato.
A questo punto si può decidere di utilizzare mailx in maniera interattiva o automatica.
Nel primo caso, poco utile per gli scenari disegnati prima, posso digitare via shell:

mail qualcuno@daqualcheparte.com


L'output che si riceve è una serie di richieste che chiedono l'oggetto, il corpo del testo ed eventuali destinatari in cc.
Alla fine del testo del corpo del messaggio si può inserire un punto su una riga vuota che comunica a mailx che si è terminato il messaggio.
Si segua l'esempio di sotto:

Subject: Ciao!
Ciao,
come stai?
Spero tutto bene
.
cc: qualcunaltro@altrove.it

L'utilizzo interessante di questo software, però, è la
possibilità di utilizzarlo in maniera automatica in modo da poterlo includere in uno script.
In tal caso, il medesimo risultato si ottiene creando un file di testo ed inserendo il corpo del messaggio; successivamente basterà digitare, su shell:

mail -c qualcunaltro@altrove.it -s "Ciao!" qualcuno@daqualcheparte.com <>

Ovviamente, il testo con messaggio può contenere i report di cui si parlava prima.


Soluzione su windows
Esistono molti programmi su windows che effettuano l'invio di mail via consolle.
Tra questi mi sono trovato particolarmente bene con Blat.
Dopo aver installato il programma si può vedere la pagina di help.
In particolare per mandare una mail in modo automatico si può procedere come segue:

blat file_allegato -to qualcuno@dovesitrova.it

NB: bisogna assicurarsi, prima, che blat.exe sia nel percorso degli eseguibili.
Se così non è, al posto di "blat" sarà necessario digitare "C:\percorsoesatto\blat.exe"