Jawk でメール(受信)
メールの受信
Jawk で JavaMail を使って、POP/IMAP サーバからメールを受信できます。 送信については、こちらをご覧ください。
JavaMail やメールサーバについては、 こちらをご覧ください。
Jawk については、こちらをご覧ください。
POPサーバからメールを受信
受信プログラム例
次のプログラム pop.jawk は POP サーバからメールを受信するプログラムの例です。 未読のメールの件数と、その件名(Subject)を表示します。 POP サーバは localhost で、 ユーザ名が user@mailtest.com で、 パスワードが pass の場合です。
・pop.jawk
BEGIN {
props = java.lang.System.getProperties()
session = javax.mail.Session.getDefaultInstance(props, null)
store = session.getStore( "pop3" )
store.connect("localhost", "user@mailtest.com", "pass")
folder = store.getFolder( "INBOX" )
folder.open( javax.mail.Folder.READ_ONLY )
term = new javax.mail.search.FlagTerm(\
new javax.mail.Flags( Flag.SEEN ), false)
mlist = folder.search(term)
print mlist.length()
for (i = 0; i < mlist.length(); i++) {
print i + 1, mlist[i].getSubject()
}
folder.close(false)
}
補助クラス
Jawk から javax.mail.Flags.Flag.SEEN を直接参照できないので、 次の Flag.java を使って参照します。
・Flag.javapublic class Flag { public static final javax.mail.Flags.Flag SEEN = javax.mail.Flags.Flag.SEEN; }
Windows で受信
Windows での実行例
C:\jawk に Flag.java を置いて、 C:\jawk\Flag.class を作ります。
C:\jawk>javac -cp mail.jar Flag.java
作成した Flag.class と、 上のプログラム例の pop.jawk と、 ダウンロードした mail.jar と、 jawk.0_14.jar と、 次の jawkf.bat の 5 つのファイルを C:\jawk フォルダに置きます。
・jawkf.bat@echo off set CP=.; set CP=%CP%C:\jawk\jawk.0_14.jar; set CP=%CP%C:\jawk\mail.jar; java -cp "%CP%" org.jawk.Awk -f %1
以下は、実行例です。
C:\jawk>jawkf.bat pop.jawk
2
1 てすと
2 Re: てすと
IMAP サーバからメール受信
IMAP サーバからメールを受信する場合は、 pop.jawk の
store = session.getStore( "pop3" )
を
store = session.getStore( "imap" )
に変更します。
テスト用サーバ
POP/IMAP サーバには次のものを使いました。 Windows で使える POP/IMAP/SMTP サーバです。
hMailServer (英語)ページの右側の、Quick Download の hMailServer 5.0 - Build 326 のリンクからダウンロードしてください。
関連リンク
他の Java のクラスを使った例は、 こちらをご覧ください。
便利で楽しいボタンが続々登場!Yahoo!ツールバー
国産タブブラウザ Lunascape を使ってみよう!
- Ask.jpツールバー
メール、メッセンジャーでディズニーキャラのアイコンが使える!
無料オンラインRPG『眠らない大陸クロノス』
i LUMINE
- Yahoo!ショッピング
ホットペッパー.jpでレストラン予約
一休.comレストラン
マネックス証券で資産運用を始めよう!口座開設・維持費無料!
- ジャパンネット銀行 新規口座開設
インターネット決済の常識! 豊富なサービスと便利な機能で大活躍!
【Amazon】

プログラミング言語AWK (新紀元社情報工学シリーズ)
sed & awk デスクトップリファレンス
AWKを256倍使うための本 (Ascii 256倍)- sed & awkプログラミング (Nutshell handbooks)
【セブンアンドワイ ヤフー店】

