本ドキュメントは PMail Server で SMTP over SSL への対応や、PMail Server の FetchEML で POP3 over SSL が導入されているメールサーバーからメールを受信し PMail Server へ取り込むことを目的とします。
PMail Server 本体や、FetchEML 単体では SSL 通信に対応していない為、ここでは、SSL トンネル通信用ソフトウェア stunnel を利用して構築を行います。
stunnel は Stunnel.orgで無償提供されている、SSL トンネル通信用ソフトウェアです。

Written by A.K.I Software ( H.Matsuda ) 2009/05/21


stunnel のダウンロード

  1. http://www.stunnel.org/ へ行き左側の「Download」から「Get the Windows Binaries」を選択。

  2. 697669 Apr 16 02:25:32 2009 stunnel-4.27-installer.exe をダウンロード
    2009/05/21 時点での最新

  3. ダウンロード終了後に同ファイルを実行し stunnel のインストールを行います。


  4. ライセンス条約です。内容を読み同意する場合は「I Agree」を押します。


  5. インストールオプションです。stunnel 本体とスタートメニューへのショートカット作成を選択し Next を押します。


  6. インストールフォルダの選択です。特に変更が無い場合はデフォルトの「c:\Program files\stunnel」を選択します。インストールに必要な HDD 容量は約 1.8MB です。


  7. インストールの終了です。


  8. インストールに成功した場合は、インストールフォルダに上記のファイルが作成されます。


stunnel の設定

  1. スタートメニューへショートカットを作成している場合、プログラムメニューに stunnel が登録されています。


  2. メニューより「Edit stunnel.conf」を選択します。

  3. stunnel.conf の内容・変更箇所
    ; Sample stunnel configuration file by Michal Trojnara 2002-2006
    ; Some options used here may not be adequate for your particular configuration

    ; Certificate/key is needed in server mode and optional in client mode
    ; The default certificate is provided only for testing and should not
    ; be used in a production environment
    cert = stunnel.pem
    既に証明書を作成している場合は、stunnel.pem から書き換えます。
    ;key = stunnel.pem

    ; Some performance tunings
    socket = l:TCP_NODELAY=1
    socket = r:TCP_NODELAY=1

    ; Workaround for Eudora bug
    ;options = DONT_INSERT_EMPTY_FRAGMENTS

    ; Authentication stuff
    ;verify = 2
    ; Don't forget to c_rehash CApath
    ;CApath = certs
    ; It's often easier to use CAfile
    ;CAfile = certs.pem
    ; Don't forget to c_rehash CRLpath
    ;CRLpath = crls
    ; Alternatively you can use CRLfile
    ;CRLfile = crls.pem

    ; Some debugging stuff useful for troubleshooting
    ;debug = 7 (stunnel の詳細ログを見る場合は行頭の ; を取ります)
    ;output = stunnel.log (stunnel のログをファイルに保存する場合は行頭の ; を取ります)

    ; Use it for client mode
    client = yes (FetchEML で POP3 over SSL を利用する場合は、stunnel をクライアントモードで稼働させる為、yes に書き直します。PMail Server で SMTP over SSL を利用する場合はサーバーモードで稼働させる為、no にします。)

    ; Service-level configuration

    [pop3s]
    ;accept = 995 デフォルト設定は利用しないので行頭に ; を入れコメントアウトします。(*1)
    ;connect = 110 デフォルト設定は利用しないので行頭に ; を入れコメントアウトします。(*1)
    accept = 127.0.0.1:10110 下記参照(FetchEMLを利用する場合)(*1)
    connect = targetserver:995 下記参照(FetchEMLを利用する場合)(*1)

    ;[imaps]
    ;accept = 993 imap4 は利用しないので行頭に ; を入れコメントアウトします。)
    ;connect = 143 imap4 は利用しないので行頭に ; を入れコメントアウトします。)

    ;[ssmtp]
    accept = 465 PMail Server で SMTP over SSL を利用する場合は ; を外して有効にします。(*1)
    connect = 25 PMail Server で SMTP over SSL を利用する場合は ; を外して有効にします。(*1)

    ;[https]
    ;accept = 443 HTTPS は利用しないので行頭に ; を入れコメントアウトします。)
    ;connect = 80 HTTPS は利用しないので行頭に ; を入れコメントアウトします。)
    ;TIMEOUTclose = 0

    ; vim:ft=dosini

    *1 FetchEML を利用する場合と PMail Server 本体で SMTP/POP3 over SSL を利用する場合の違い。

    FetchEML を利用する場合と、PMail Server 本体で SMTP/POP3 over SSL を利用する場合、どちらも共存することはできません。
    これは、stunnel がサーバーモードで稼働するのか、それともクライアントモードで稼働するのか、どちらかになるからです。

    FetchEML を利用する場合の [pop3s] の accept= と connect= の設定について。

    accep と connect の関係は「accept で指定された IP アドレス(ホスト)・ポートに接続された場合、connect で指定された IP アドレス(ホスト)・ポートへ SSL でトンネル通信を行う」という意味になります。
    上記の設定の場合は「127.0.0.1の10110ポートに接続された通信は、targetserverの995(POP3 over SSL ポート)に SSL でトンネル通信を行う」という意味になります。

    accept= の設定は上記のまま設定し、connect= の設定は FetchEML で取得する対象のメールサーバーを指定します。
    例)pop3.example.com の POP3 を利用する場合は「connect = pop3.example.com:995」と設定します。
    対象サーバーとポート番号は : (コロン)で区切ります。


PMail Server + SMTP/POP3 over SSL の設定

特に設定する必要はありません。そのままメールクライアント側で SMTP over SSL / POP3 over SSL 用の設定を行えばそのまま SSL によって通信が行われます。

PMail Server + FetchEML の設定

PMail Server Version 1.74c未満のバージョンを利用している場合は、ポートの指定ができませんので、これ以降のバージョンが必要です。
  1. pmman.exe を起動し、FetchEML タブを開きます。


  2. pmman.exe を起動し、FetchEML タブを開きます。

  3. デフォルトサーバー名は、stunnel で指定した 127.0.0.1 を指定します。

  4. ポート番号は、stunnel で指定した 10110 を指定します。

  5. APOP認証は対象サーバーの設定に従い on/off します。(殆どの POP3 over SSL は APOP認証をしません)

  6. その他の設定は従来のサーバーと同じです。ユーザーマニュアルをご参照下さい。


stunnel / fetcheml の開始

  1. プログラムファイルから stunnel フォルダを選択します。

  2. 一時的に起動するだけの場合は、Run stunnel を選択します。

  3. WindowsXP/2000 以降でサービスとして稼働させる場合は「Service install」でインストールを行い「Service start」で開始します。

  4. stunnel の開始を確認後に、FetchEML を開始します。


stunnel / fetcheml の相関図