筆者は仕事をする時にVIMを使う。
厳密にいうと、KaoriyaさんのGVIMに便利そうなプラグインを適当に足していき、VIMを拠点に様々な操作を行うというスタイルを取っている。
以前から、日報提出のメール内容はVIMで編集してはいたのだが、いっそのことVIM上からメールを送信できればいいなと思っていた。
昔一度トライしたことがあり
postmail.vim : メール送信用vimエディタプラグイン — 名無しのvim使い
こちらを参考に試したのだが、:Mailコマンドがエラーで動かず即断念した。
ただ、別のプラグインを使えるようにする過程で、VIMスクリプトの中身を見てトレースする機会があり、今なら動かせるのではないかと思い、再度挑戦した。
結論からいうと、エラーが出ている場所はここだった
postmail.vim
function! g:PostMail(...) rangeの
for l:i in split(globpath(&runtimepath, 'plugin/postmail.conf'), '\n')
ここに、「globpath(&runtimepath, 'plugin/postmail.conf')」のパスにpostmail.confが存在していなくて失敗していたようだった。
runtimepathは、vim上で:set runtimepathとか打てば、通っているパス一覧が表示されるので、そのどこかにpostmail.confを置いてやればよかった。
後は、手順に則り、postmail.confを編集してやれば、メールを「送信できること」は確認できた。
そう、送信するだけならな!
詰まった点
・全角文字が入力されていると、エラーになる
・改行コードがおかしく表示される
・TO宛先に複数指定が出来るか不明、また、CC指定が可能かもわからない
全角文字指定に関しては、postmail.confに予め全角文字を含めてしまうと、おかしくなってしまうので、デフォで全角文字設定をするのは避けた方が良さそう。
改行コードに関しては、どうやらCRにすると上手くいくようなのだが、WindowsでCRを使うは微妙な気がするし、そもそもVIMでの設定はdos(CRLF)になっているしている。
これは、pythonスクリプトの中身確認して、文字コードをCRに書き換える処理を加えられるらならそうしたほうがよさそうだ。
TO宛先に関しても、こちらはまだ完全にノープランだが、恐らくPythonスクリプト側でその辺の設定が出来る箇所があると思うので、やはりPythonスクリプト側に探りを入れていく予定だ。
まぁ、ひとまず可読可能な物をメールで送信することは出来たので、もう少し調べれば使い物になるのではないかなと思う。