fenrirからSMAILでメール送信

現在はてなハイクがIMからの投稿を受け付けてくれない状態なので、簡単にハイクに投稿するにはどうしたらいいかなーと思って、fenrirからスクリプトか何かでメールすればいいんじゃないか?と思い至った。
で、見つけたのがSMAILという送信専用コマンドラインメールソフト。コマンドラインからの使用を前提にしているわけだから、fenrirのインスタントコマンドからでも使えるはず。
ということで早速導入。

SMAILの設定

配布サイトから最新版をダウンロードし、適当なところに展開。自分はfenrir用ツールとしてしか使わないので、fenrirと同じフォルダにsmailフォルダごと放り込んだ。
次に、初期設定。smail.exeをそのまま起動すると、GUIで設定画面が出てくる。とりあえず必要なのはSMTPサーバの設定だけ。SSL対応でGmailのアカウントも使える。

  • SMTPポート番号:25
  • SMTP認証:AUTH PLAIN
  • SMTPユーザID:GmailアカウントID(@の左側のみ)
  • SMTPパスワード:Gmailのパスワード(設定保存後に暗号化される)
  • SMTP/SSL暗号化:チェックを入れる
    • ポート番号:465

これで保存・終了。

はてなハイクに投降する

今度はfenrirの方の設定。基本はこんな感じ。

m="%W\smail\smail.exe" -hsmtp.gmail.com -f送信元メールアドレス 送信先メールアドレス %A

fenrirのインスタントコマンドは残念ながら引数を1つしか付けられないので、SMAILのオプションを覚えるしかない。
とりあえず、はてなハイクに投稿するだけなら覚えるべきオプションは

-s件名 -T本文

の2つだけ。件名はお題で、本文がそのまま本文になる。なので件名を省略するとお題はユーザー名になる。
いちいちオプションを付けるのが面倒なら、

/m=fenrir /key="m -s -T"

としておくと、"/m"と入力することでfenrirを"m -s -T"と入力された状態で再表示できる。お題をユーザー名にして呟きを投降するだけなら、これで十分簡単になる。

cmdファイルで添付ファイルを送る

コマンドファイルを使えば、fenrirから選択したファイルをGmailにバックアップできる。

[.***;
Gmailにバックアップ|smail\smail.exe -hsmtp.gmail.com -f自分のメールアドレス 自分のメールアドレス -s[Backup] -a"%P"|%W|0
]

残念ながらSMAILは添付ファイルをカンマ区切りで指定するので、スペース又は改行でしか区切れないfenrirからは複数ファイルを指定できない。

AHKを使う

ここまで書いてから、AutoHotkeyを使えばもうちょっと柔軟になることに気付いた。

#NoTrayIcon 
InputBox,subject,お題,,,250,100
if (ErrorLevel <> 0) {
	return
}
else {
	InputBox,body,本文,,,250,100
	if (ErrorLevel <> 0) {
		return
	}
	else {
		Run,smail.exe -hsmtp.gmail.com -f自分のメールアドレス はてなハイク発行アドレス -s%subject% -T%body%,%A_ScriptDir%,Hide
		return
	} 
}

これをsmail.exeと同じフォルダにsmail.ahkとかで保存して実行すれば、入力ダイアログが順番に2つ出てきて、それぞれ件名、本文としてメール送信される。途中で「いいえ」を選ぶと何もしない。AHKはウィンドウの表示も制御できるので、SMAILのウィンドウも出ない。
if以下を増やせば送信先を入力したりもできる。

どっちを使うか

オプションさえ覚えれば意外とfenrir上で入力した方が速いかもしれない。でもSMAILの実行ウィンドウは意外とうざいので、とりあえずしばらくはAHK経由でやってみることにする。fenrirAHK→SMAIL→Gmailはてなハイクという極めて迂遠な方法だけど、なかなか便利だ。