Jak eksportować adresy e-mail z Apple Mail?

2

Podczas wysyłania wiadomości e-mail do kogoś w poczcie Apple Mail zapamiętuje jej adres, więc jeśli spróbujesz wysłać do niej kolejny e-mail, wyświetli się monit - nawet jeśli nie dodałeś go do książki adresowej.

Czy istnieje jakiś sposób na eksport tych zapamiętanych adresów lub zapisanie ich w książce adresowej?

Shaun
źródło

Odpowiedzi:

3

W Poczcie przejdź do Okno -> Poprzedni odbiorcy. Następnie możesz dodać je do swojej książki adresowej. Jeśli chcesz wyeksportować listę do pliku, możesz to zrobić w terminalu, bezpośrednio uzyskując dostęp do bazy danych sqlite za pomocą sqlite3. Fragment linku (formatowanie kopalni):

To okazuje się bardziej skomplikowane, niż się spodziewałem, ale jest możliwe.

Program pocztowy Apple używa programu bazodanowego dostępnego w Uniksie o nazwie „sqlite3”. Plik wykonywalny znajduje się w / usr / bin. Aby uzyskać informacje o tym programie, wpisz „man sqlite3” w oknie terminala. Ponadto w Internecie dostępne są informacje na stronie www.sqlite.org. Przyjaciel, którego codzienna praca polega na administrowaniu bazami danych, pomógł mi to wypracować.

Najpierw przejdź do odpowiedniego katalogu w oknie terminala:

cd ~/Library/Application Support/AddressBook

Plik zainteresowania to MailRecents-v4abcdmr.

Zauważ, że filepolecenie opisuje to jako:

$ file MailRecents-v4abcdmr
MailRecents-v4.abcdmr: SQLite database (Version 3)

$ sqlite3 MailRecents-v4.abcdmr
SQLite version 3.4.0
Enter ".help" for instructions
sqlite>

Zobaczmy nagłówki:

sqlite> .headers ON

Teraz zdobądźmy informacje o tym, co znajduje się w tym pliku bazy danych:

sqlite> select * from SQLITE_MASTER; /* don’t forget the semicolon */
/* lots of output */

Stół ZABCDMAILRECENTjest dla nas interesujący. Należy zauważyć, że w ciągu ostatnich 3 kolumny są nazywane ZLASTNAME, ZFIRSTNAMEi ZEMAIL. Chcemy je z tabeli, w kolumnach, w pliku nazwa_pliku.txt.

sqlite> .mode columns ZABCDMAILRECENT
sqlite> .width 15 15 36 /* make sure the columns are wide enough */
sqlite> .output filename.txt /* note: no ‘;’ */
sqlite:> select ZLASTNAME, ZFIRSTNAME, ZEMAIL from ZABCDMAILRECENT;
sqlite> .exit

Gotowy. Adresy e-mail i adresy są teraz filename.txt, po jednym w wierszu.

Może kiedyś ktoś w Apple doda tę możliwość do poczty.

fideli
źródło
5

Jeśli używasz OS X 10.10, użyj następującego kodu, ponieważ zmieniła się lokalizacja poprzedniego pliku adresatów. Zrobiłem trochę kopania i to zadziałało dla mnie (wszystko to jest jedna linia):

sqlite3 -csv ~/Library/Containers/com.apple.corerecents.recentsd/Data/Library/Recents/Recents 'select display_name, address from contacts where kind like "email";'>~/Desktop/recent.csv

Ten nowy plik „Ostatnie” zawiera WSZYSTKIE ostatnie kontakty, w tym odbiorców FaceTime i iMessage, dlatego dodatkowy filtr został dodany tylko do eksportu kontaktów e-mail.

thekurst
źródło
Łał! To działa idealnie! Bardzo ci za to dziękuję!
CodeBrauer,
3

Aby wyeksportować do pliku CSV:

Uruchom jako jedną linię:

sqlite3 -csv ~ / Library / Application \ Support / AddressBook / MailRecents-v4.abcdmr „wybierz ZLASTNAME, ZFIRSTNAME, ZEMAIL z ZABCDMAILRECENT;”

Aby wyeksportować do pliku „latest.csv”:

sqlite3 -csv ~ / Library / Application \ Support / AddressBook / MailRecents-v4.abcdmr 'wybierz ZLASTNAME, ZFIRSTNAME, ZEMAIL z ZABCDMAILRECENT;'> niedawny.csv

Niklas B.
źródło
0

To głupi, ale prosty sposób na zrobienie tego.

Zaznacz wszystkie e-maile, wybierz drukuj - ale zmień, aby zapisać do PDF, a następnie wyeksportować do programu Word, a następnie wyeksportować do formatu pliku TXT i rozpocząć filtrowanie pliku za pomocą Text Wrangler.

Łatwe, ale głupie;)

Johan Ronnestam
źródło
Czy możesz wyjaśnić, w jaki sposób filtrować plik za pomocą wranglera tekstu.
Naveed Abbas,