Apple Mailで誰かにメールを送信すると、そのアドレスが記憶されるので、別のメールを送信しようとすると、メールを追加していなくても、メッセージが表示されます。アドレス帳。
それらの記憶されたアドレスをエクスポートしたり、アドレス帳に保存したりする方法はありますか?
メールで、[ウィンドウ]-> [前の受信者]に移動します。その後、それらをアドレス帳に追加できます。リストをファイルにエクスポートする場合は、ターミナルで sqliteデータベースに直接アクセスする sqlite3を使用してエクスポートできます。リンクからの抜粋(私のフォーマット):
これは私が思っていたよりも複雑であることがわかりましたが、それは可能です。
Appleメールプログラムは、Unixで利用可能な「sqlite3」というデータベースプログラムを使用します。実行可能ファイルは/ usr/binにあります。このプログラムの詳細については、ターミナルウィンドウに「mansqlite3」と入力してください。また、ウェブ上のwww.sqlite.orgに情報があります。データベース管理を専門とする友人が、これを解決するのを手伝ってくれました。
まず、ターミナルウィンドウで適切なディレクトリに移動します。
cd ~/Library/Application Support/AddressBook
対象のファイルはMailRecents-v4abcdmrです。
file
コマンドはこれを次のように説明していることに注意してください。$ file MailRecents-v4abcdmr MailRecents-v4.abcdmr: SQLite database (Version 3) $ sqlite3 MailRecents-v4.abcdmr SQLite version 3.4.0 Enter ".help" for instructions sqlite>
ヘッダーを見てみましょう:
sqlite> .headers ON
それでは、このデータベースファイルの内容に関する情報を取得しましょう。
sqlite> select * from SQLITE_MASTER; /* don’t forget the semicolon */ /* lots of output */
テーブル
ZABCDMAILRECENT
は私たちにとって興味深いものです。最後の3列はZLASTNAME
、ZFIRSTNAME
、およびZEMAIL
と呼ばれることに注意してください。これらは、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; sqlite> .exit
完了。電子メールの名前とアドレスは、1行に1つずつ
filename.txt
になりました。たぶん、いつか、Appleの誰かがこの機能をメールに追加するでしょう。
OS X 10.10を使用している場合は、以前の受信者ファイルの場所が変更されたため、次のコードを使用します。私はいくつかの掘り下げをしました、そしてこれは私のために働きました(以下はすべて1行です):
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
この新しい「最近」ファイルには、FaceTimeとiMessageの受信者を含む最近のすべての連絡先が含まれているため、電子メールの連絡先のみをエクスポートするための追加のフィルターが追加されました。
CSVファイルにエクスポートするには:
1行で実行:
sqlite3 -csv〜/Library/Application\Support/AddressBook/MailRecents-v4.abcdmr'ZABCDMAILRECENTからZLASTNAME、ZFIRSTNAME、ZEMAILを選択します; '
ファイル「recent.csv」にエクスポートするには:
sqlite3 -csv〜/Library/Application\Support/AddressBook/MailRecents-v4.abcdmr'ZABCDMAILRECENTからZLASTNAME、ZFIRSTNAME、ZEMAILを選択します; '> recent.csv
これは愚かですが、それを行う簡単な方法です。
すべてのメールにマークを付け、印刷を選択します。ただし、PDFに保存するように変更してから、Wordにエクスポートしてから、TXTファイル形式にエクスポートし、テキストラングラーでファイルのフィルタリングを開始します。
簡単ですが愚かです;)