3673 Views 2 Replies Latest reply: Sep 6, 2008 2:34 PM by Jack the Giant Killer
This turns out to be more complicated than I had hoped, but it is possible.
The Apple mail program uses a database program available in Unix called “sqlite3.”
The executable is in /usr/bin.
For information about this program, type “man sqlite3” in a terminal window. Also, there is information on the web, at www.sqlite.org.
A friend whose day job is in database administration helped me work this out.
First, go the proper directory in a terminal window:
cd ~/Library/Application Support/AddressBook
The file of interest is MailRecents-v4abcdmr.
Note that the “file” command describes this as:
MailRecents-v4.abcdmr: SQLite database (Version 3)
SQLite version 3.4.0
Enter ".help" for instructions
Let’s see the headers:
sqlite> .headers ON
Now, let’s get some information about what’s in this database file:
sqlite> select * from SQLITE_MASTER; /* don’t forget the semicolon */
/* lots of output */
The table ZABCDMAILRECENT is of interest to us. Note that the last 3 columns are called ZLASTNAME, ZFIRSTNAME, and ZEMAIL. We want these from the table, in columns, in filename.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;
Done. The email names and addresses are now in filename.txt, one per line.
Maybe, someday, someone at Apple will add this capability to mail.