メールサーバ側でメールを保存・管理できるだけでなく、メールのアップロードもできることを最近知った。試しに openssl で imap.gmail.com に繋いでコマンドを叩くと割とあっさりアップロードできた。
OSX のターミナルを開いて openssl を実行 ( -crlf はエンターキーを押した際に送られる改行コードが CR/LF になるらしい )。色々と出たあとコマンド待ちになる。コマンドの前には ? を入れないといけないようだ。まずは loginコマンドから。? login に続けて gmail の ユーザー名、パスワードを入れてエンター。
> openssl s_client -connect imap.gmail.com:993 -crlf _skip_ * OK Gimap ready for requests from ???.???.???.??? ? login gmail_username password上手くログインできると下記のようにメールアドレスと登録名が表示され再びコマンド待ちとなる。そこで append を試してみる。inbox フォルダーにメッセージを追加したい場合は ? append inbox {メッセージのバイト数} と入力。
* CAPABILITY IMAP4rev1 UNSELECT IDLE NAMESPACE QUOTA ID XLIST CHILDREN X-GM-EXT-1 UIDPLUS COMPRESS=DEFLATE ? OK ????@gmail.com HenoHeno Moheji authenticated (Success) ? append inbox {120} + go ahead Date: Wed, 21 Sep 2011 20:00:00 +0900 (JST) From: abcdef@ghijk.lmn Subject: foo To: abcdef@ghijk.lmn Foo! bye ? OK [APPENDUID ????????? 6694] (Success)上記では 120 バイトのメッセージが受け付けられた。最低限 Date: , From: , Subject: , To: がないと受け付けてくれなかった。
実際 inbox を覗いてみる。まずは select コマンド で inbox フォルタを選び、最新メッセージの UID を調べる。(下記では 6694)。そのメッセージをfetch all すると append したものがでてきた。
? select inbox * FLAGS (\Answered \Flagged \Draft \Deleted \Seen NotJunk $Junk $Forwarded NonJunk JunkRecorded $NotJunk) * OK [PERMANENTFLAGS (\Answered \Flagged \Draft \Deleted \Seen NotJunk $Junk $Forwarded NonJunk JunkRecorded $NotJunk \*)] Flags permitted. ? fetch 1:* uid * 1 FETCH (UID 6238) * 2 FETCH (UID 6293) * 3 FETCH (UID 6294) _skip_ * 156 FETCH (UID 6674) * 157 FETCH (UID 6683) * 158 FETCH (UID 6693) * 159 FETCH (UID 6694) ? OK Success ? uid fetch 6694 all * 159 FETCH (UID 6694 ENVELOPE ("Wed, 21 Sep 2011 20:00:00 +0900 (JST)" "foo" ((NIL NIL "abcdef" "ghijk.lmn")) ((NIL NIL "abcdef" "ghijk.lmn")) ((NIL NIL "abcdef" "ghijk.lmn")) ((NIL NIL "abcdef" "ghijk.lmn")) NIL NIL NIL "<8263606161623309890@unknownmsgid>") FLAGS (NotJunk $NotJunk) INTERNALDATE "21-Sep-2011 17:10:19 +0000" RFC822.SIZE 120) ? OK Success
参考:Gmail に IMAP で Mac のターミナルからアクセスする
0 件のコメント:
コメントを投稿