メールのMessage-Idを一覧表示

3月 7th, 2006
[`evernote` not found]
Facebook にシェア

メールのMessage-Idを一覧表示させる必要ができたので、そのメモ。
OutlookのVBAにはMessage-Idを直接取得するためのプロパティが用意されていない。何やらCDOを使ってMAPIを呼び出すとか、Redemptionというツールを使う必要があるらしい。Outlook TipsというサイトにMAPIを利用したサンプルが掲載されていた(動作は未確認)。
これに比べて、Mac OS XのMail.appはすごく簡単。Message-IdをAppleScriptから直接取得できる。以下は、Mac OS Xに収録されていたMail.app用サンプルスクリプトをちょこっといじったもの。Mail.app上でメールを選択しスクリプトを実行すると、ダイアログにMessage-Idのリストが表示される(利用は自己責任で)。

using terms from application "Mail"
on perform mail action with messages selectedMsgs
-- See Mail's AppleScript dictionary for the full documentation on the
-- 'perform mail action with messages' handler.
set logString to ""
tell application "Mail"
set selCount to (count of selectedMsgs)
repeat with counter from 1 to selCount
set msg to item counter of selectedMsgs
set theMessageID to "Message-Id: <" & message id of msg & ">"
set logString to (logString & return & theMessageID)
end repeat
end tell
if length of logString > 0 then
display dialog "Message-Idのリスト" default answer logString
end if
end perform mail action with messages
end using terms from

using terms from application "Mail"
on run
tell application "Mail" to set sel to selection
tell me to perform mail action with messages (sel)
end run
end using terms from

Leave a Reply

Comments links could be nofollow free.