BLOGTIMES
2011/02/23

Trac のメール通知でSMTPSサーバを使う

  trac  networking  windowsserver 
このエントリーをはてなブックマークに追加

Tracの通知の設定をしようと思ったら、送信に使えるがサーバがSMTPSにしか対応していなかったので、じゃあSMTPSで設定すればいいやと思っていろいろ設定を変更してみたのですが、どうもうまくいかないのでして困ってしまいました。仕方がないので、いろいろと調べてみると、Tracのメール通知はSMTPS(465)には対応していないという衝撃的な事実が判明

TracNotification – The Trac Project

You should not use smtp_port = 465. It will not work and your ticket submission may deadlock. Port 465 is reserved for the SMTPS protocol, which is not supported by Trac. See #7107 for details.

#7107 (Gmail does not work) – The Trac Project

It does not work with port 465, which is dedicated to SMTPS. SMTPS is not supported by Trac.

今回は TracLightning でインストールしたWindowsベースのサーバだったということもあり、今回は stone で SMTP -> SMTPS というトンネルを作ってこれを回避することにしました。最近はOSがlinuxで単純なポートフォワードする際はiptablesを使うようになっているので、stoneのお世話になるのは久しぶりです。

Simple Repeater `stone

stone は、アプリケーションレベルの TCP & UDP リピーターです。ファイアウォールの内から外へ、あるいは外から内へ、TCP あるいは UDP を中継します。

以下、設定メモ。

設定方法

stoneのアーカイブをダウンローして、適当なディレクトリに展開しておきます。
今回はC:\stoneに展開することにします。

下記のような設定ファイルを作っておきます。
smtp.example.comの部分は接続先のメールサーバの名前に書き換える必要があります。

C:\stone\smtptunnel.cfg

smtp.example.com:465/ssl 127.0.0.1:25

この状態で、コマンドプロンプトからstoneを起動してみて、接続をテストしてみます。
うまく接続できれば下記のような感じでログが出力されてくるはずです。

C:\>C:\stone\stone.exe -C C:\stone\\smtptunnel.cfg Feb 23 18:36:48.468000 4912 start (2.3e) [4976] Feb 23 18:36:48.593000 4912 stone 1872: smtp.example.com:465/ssl <- 127.0.0.1:smtp

ここまでできれば設定は問題ないので、コマンドプロンプトから下記のように入力するとサービスとしてインストールすることができます。
smtptunnelの部分はサービスの名前なので、自由に変更することができます。

C:\stone\stone.exe -M install smtptunnel -C C:\stone\\smtptunnel.cfg

あとはサービスの設定でマシンの起動と同時にstoneが起動するようにしておけばよいでしょう。

ちなみにサービスをアンインストールする場合は下記のようにします。
インストール時につけた名前を入力する必要があります。

C:\stone\stone.exe -M remove smtptunnel

あとはTracからサーバを127.0.0.1、ポートを25にするとstoneを通してSMTPSのメールサーバにアクセスすることができるようになっているはずです。
SSL接続はstoneがやってくれるので、Tracのuse_tlsオプションはOffにしておきます。


    トラックバックについて
    Trackback URL:
    お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
    このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/4088
    Trackbacks
    このエントリにトラックバックはありません
    Comments
    愛のあるツッコミをお気軽にどうぞ。[policy]
    古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
    コメントはありません
    Comments Form

    コメントは承認後の表示となります。
    OpenIDでログインすると、即時に公開されます。

    OpenID を使ってログインすることができます。

    Identity URL: Yahoo! JAPAN IDでログイン