パーソナルツール

postmail.vim : メール送信用vimエディタプラグイン

作者: 小見 拓 最終変更 2012年01月10日 02時08分
— カテゴリ: ,

メール送信用vimエディタプラグインです。 カレントバッファ全文か、選択した行のテキストをメールで送信できます。 実行するにはPython環境が必要です。 (Windows, Mac)

概要

postmail.vim : メール送信用vimエディタプラグイン
http://postmail-vim-plugin.googlecode.com/files/postmail-vim-plugin.zip

編集中のバッファ全文か、選択した範囲のテキストをEメールで送信します。
このプラグインの最も簡単な使い方は「:Mail」コマンドを実行することです。

:Mail

プラグインの構成

このプラグインは次のファイルから構成されます。

ファイル 説明
postmail.vim vimスクリプトファイル。
postmail.py python製メール送信エンジン。
postmail.conf メール送信先設定ファイル

このメール送信プラグインは「postmail.conf」から設定を読み込んで、
メールサーバに接続、メールを送信する仕組みになっています。

動作環境

このプラグインを利用するには、動作環境が次の条件を満たす必要があります。

  • 'compatible'オプションがセットされていない、
  • '+python', '+iconv', '+multi_byte'オプション付きでコンパイルされたVimエディタを使用している
  • Pythonが適切にインストール、使用できる状態にある

インストール方法

ダウンロード、解凍

まず、 プラグイン をダウンロードし、
次に、 ダウンロードした圧縮ファイルを解凍してください。

ファイル URL
postmail.zip http://postmail-vim-plugin.googlecode.com/files/postmail-vim-plugin.zip

runtimepathディレクトリにコピーする

'postmail.zip' を解凍後、生成されたファイルを'runtimepath'ディレクトリの'plugin'、'doc'ディレクトリにコピーします。
'runtimepath'ディレクトリがどういうものか分からない場合は、
Windows環境なら「$HOME/vimfiles」ディレクトリを、
Mac OSX環境では「$HOME/.vim」ディレクトリを使用してください。

':helptags'コマンドを実行する

':helptags'コマンドを'postmail.vim'をインストールした'doc'ディレクトリに実行してください。

" Windows環境の場合のコマンド例
:helptags $HOME/vimfiles/doc
" Mac OSX環境の場合のコマンド例
:helptags $HOME/.vim/doc

メール送信設定ファイル「postmail.conf」を編集する。

「postmail.conf」設定ファイルを編集します。 「postmail.conf」には、いくつかのメール送信用の設定例が書かれているので、 余分な設定をコメントアウトしてから、 自分の環境にあわせて設定を変更するとプラグインを利用できるようになります。
設定の詳細については、 'postmail.conf'の設定方法 を見てください。

Note

設定ファイルは、vimエディタのencodingオプションと同じエンコーディングで記述します。

" vimエディタのencodingの値を確認する
:echo &encoding

使用方法

':Mail' コマンドを実行するとメールが送信されます。
メール送信コマンドの例も用意してあるので、そちらも見てください。
':Mail'コマンドの使い方の例

':Mail'コマンドのフォーマット

:[range]Mail

メールを送信します。範囲を指定すると選択した範囲のテキストを、 範囲を指定しないとカレントバッファ全文を送信します。

:[range]Mail {to_mailaddress}

{to_mailaddress}にメールを送信します。 範囲を指定すると選択した範囲のテキストを、範囲を指定しないとカレントバッファ全文を送信します。

:[range]Mail {to_mailaddress1} {to_mailaddress2}, {to_mailaddress3}

{to_mailaddress1}、{to_mailaddress2}、{to_mailaddress3}の3メールアドレスにメールを送信します。 送信先はいくらでも指定できます。 範囲を指定すると選択した範囲のテキストを、範囲を指定しないとカレントバッファ全文を送信します。

':Mail'コマンドの使い方の例

:Mail

メールを送信します。 送信されるメッセージはカレントバッファ全文です。

:Mail mail@nanasi.jp

カレントバッファ全文を'mail@nanasi.jp'に送信します。

:6,20Mail mail@nanasi.jp

6行目から20行目の範囲のテキストを'mail@nanasi.jp'に送信します。

'postmail.conf'の設定方法

'postmail.conf' ファイルがメール送信サーバの設定ファイルです。
基本的な設定ファイルフォーマットは次のようになっています。

{
    'auth_type':'{認証の種類。"None"、"POP"、もしくは"TLS"}' ,
    'smtp_host':'{SMTPサーバのホスト}' ,
    'smtp_port':'{SMTPサーバのポート}' ,
    'login_user':'{SMTPサーバのユーザ名}' ,
    'login_pass':'{SMTPサーバのユーザパスワード}' ,
    'mail_encoding':'{メールのエンコーディング}' ,
    'from_address':'{FROMに使用するアドレス}' ,
    'default_to_address':'{デフォルトのTOアドレス}' ,
    'default_subject':'{デフォルトのメールサブジェクト}'
}
設定項目 説明
auth_type SMTPサーバが採用している認証の種類。選択できるのは、'None'、'POP'、'TLS'です。
smtp_host SMTPサーバのホスト。
smtp_port SMTPサーバのポート番号。
login_user SMTPサーバに接続するユーザの名前。
login_pass SMTPサーバに接続するユーザのパスワード。
mail_encoding メールのメッセージのエンコーディング。おそらく変更する必要はない。
from_address FROMにセットするメールアドレス。
default_to_address TOメールアドレスのデフォルトの値。
default_subject メールサブジェクトのデフォルトの値。

'auth_type'の値と認証の種類のマッピングは次の表の通りです。

auth_type 認証の種類
None 認証なし
POP POP Before SMTP認証
TLS TLS認証

'postmail.conf'の設定例

postmail.confの設定例をいくつか紹介します。

GMailをメール送信サーバにする場合

元からある設定「basic configuration」を削除後、 「gmail configuration」の箇所のコメントを削除して有効にしてください。

" GMailを利用する場合のサンプル設定ファイル。
{
    'auth_type':          'TLS'                     ,
    'smtp_host':          'smtp.gmail.com'          ,
    'smtp_port':          '587'                     ,
    'login_user':         'please_change@gmail.com' ,
    'login_pass':         'xxxxxxxxxxxx'            ,
    'mail_encoding':      'ISO-2022-JP'             ,
    'from_address':       'user@example.jp'         ,
    'default_to_address': 'user@example.jp'         ,
    'default_subject':    'default subject'
}

Outbound Port25 Blockingのメールサーバでメールを送信する場合

Outbound Port25 Blockingを採用しているメールサーバからメールを送信する場合は、 「outbound port 25 blocking configuration」の項の設定例を参考にしてみてください。

" Outbound Port25 Blocking
{
    'auth_type':          'None'                    ,
    'smtp_host':          'smtp.example.jp'         ,
    'smtp_port':          '587'                     ,
    'login_user':         'please_change@gmail.com' ,
    'login_pass':         'xxxxxxxxxxxx'            ,
    'mail_encoding':      'ISO-2022-JP'             ,
    'from_address':       'user@example.jp'         ,
    'default_to_address': 'user@example.jp'         ,
    'default_subject':    'default subject'
}

POP Before SMTP認証のメールサーバでメールを送信する場合

POP Before SMTP認証を採用しているメールサーバなら、次のように設定します。 認証方式の都合上、POP Before SMTP認証でメールを送信する場合、設定項目がいくつか必要になります。

" POP Before SMTP認証
{
    'auth_type':          'POP'                     ,
    'pop_host':           'pop.example.jp'          ,
    'pop_port':           '110'                     ,
    'pop_user':           'user@example.jp'         ,
    'pop_pass':           'xxxxxxxxxxxx'            ,
    'smtp_host':          'smtp.example.jp'         ,
    'smtp_port':          '25'                      ,
    'login_user':         'please_change@gmail.com' ,
    'login_pass':         'xxxxxxxxxxxx'            ,
    'mail_encoding':      'ISO-2022-JP'             ,
    'from_address':       'user@example.jp'         ,
    'default_to_address': 'user@example.jp'         ,
    'default_subject':    'default subject'
}
設定項目 説明
pop_host POPサーバのホスト。
pop_port POPサーバのホストのポート番号。
pop_user POPサーバに接続するユーザの名前。
pop_pass POPサーバに接続するユーザのパスワード。

うまく動作しない場合

もし、postmail.vimがエラーを投げたり、うまく動かなかったりしたら、 まず、次のポイントをチェックしてください。

Vimエディタのバージョン。

Vimエディタのバージョンが7以降でないと動作しません。
次のコマンドを実行して、Vimエディタのバージョンを調べてください。

:version

'compatible' オプション。

'compatible' オプションがonだと動作しません。
次のコマンドを実行して、Vimエディタのオプションを調べてください。
0が返ってくれば、OKです。

:echo &compatible

Vimエディタのコンパイルオプション。

'+python'、'+iconv'、'+multi_byte'付きでコンパイルされたVimエディタを使用していますか?
次のコマンドを実行して、Vimエディタのコンパイルオプションを調べてください。
'+python'、'+iconv'、'+multi_byte'が見つかればOKです。

:version

もしくは、次のコマンドを実行し、全てのコマンドの結果が1になればOKです。

:echo has("python")
:echo has("iconv")
:echo has("multi_byte")

Python環境。

Pythonがインストールされて、かつ、使用できるようにPATHがセットされていますか?
次のコマンドを実行して、Pythonの状態を確認してください。
'python is installed.'と、返ってくればOKです。

:python print "python is installed."

Pythonのバージョン。

環境がMS-Windowsで、Vimエディタが'+python/dyn'付きでコンパイルされている場合は、
Pythonのバージョンをコンパイル時と揃える必要があります。
次のコマンドを実行して、Pythonのバージョンが揃っているか、確認してください。

" Vimエディタで使用できるPythonのバージョンを確認
:help python-dynamic@en

" Pythonの実行環境のバージョンを確認
:!python --version

Note

Windows用のPythonは、 日本Pythonユーザ会(PyJUG) でダウンロードできます。
http://www.python.jp/Zope/

postmail.conf。

'postmail.conf'設定ファイルは適切に設定されていますか?
もし、まだなら、'postmail.conf'ファイルを編集してください。
'postmail.conf'ファイルのテンプレートファイルは、pluginディレクトリに入っています。

SMTPサーバの認証の種類。

メール送信サーバの認証は、プラグインでサポートされているタイプですか?
postmail.vimは、'POP Before SMTP認証'と'TLS認証'しかサポートしていません。

ネットワーク。

ネットワークの環境を確認してください。
別のメーラーを使用してメールを送信できますか?

注意事項など

次のコマンドで、postmail.vimのより詳しい説明を参照できます。

:help postmail
ドキュメントアクション
コメント
blog comments powered by Disqus