Dostałem ostatnio trochę emaili, dla których chciałem zachować w książce adresowej nadawców lub odbiorców (maile grupowe). W webowym interfejsie GMaila jest to nieprzyjemnie pracochłonne – trzeba klikać każdy z adresów z osobna.
Googlując znalazłem ten skrypt. Spodobał mi się pomysł ale chciałem trochę zmienić zasady działania, dlatego ostatecznie napisałem swoją własną wersję. Podobnie jak skrypty ulritha, mój skrypcik łączy się z GMailem przy pomocy interfejsu IMAP (zresztą, równie dobrze może połączyć się z dowolnym innym serwerem IMAP), przegląda spis treści zadanego folderu (domyślnie - INBOX) i wynotowuje wszystkie znalezione adresy email. Moje zmiany dotyczą:
-
sczytywania
From
,To
, iCc
a nie tylkoFrom
, -
sczytywania nie tylko adresów email ale też – o ile występują – imion i nazwisk,
-
możliwości zadania adresu sieciowego z którym łączy się skrypt (do użycia przy łączeniu z czymś innym niż GMail ale też gdy GMail jest za jakimś tunelem lub maperem portów),
-
zapisywania wyników w formie pliku
.csv
gotowego do zaimportowania do Google Contacts.
Skrypt można pobrać stąd. Do uruchomienia potrzebny jest Perl i trochę perlowych modułów (na Debianie i Ubuntu wszystko co potrzeba jest dostępne w pakietach).
Uruchomienie bez parametrów prezentuje tekst pomocy, normalne uruchomienie to
perl gmail_extract_emails.pl \
--username=NazwaKontaGoogle --password=HasloGoogle \
--csv=kontakty.csv \
--folder=INBOX
Plik kontakty.csv
można bezpośrednio zaimportować do Google Contacts
(acz radzę przejrzeć go przed tą operacją i np. usunąć zbędne adresy.
Treść skryptu: