- blogs:
- cles::blog

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



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
この状態で、コマンドプロンプトからstoneを起動してみて、接続をテストしてみます。
うまく接続できれば下記のような感じでログが出力されてくるはずです。
ここまでできれば設定は問題ないので、コマンドプロンプトから下記のように入力するとサービスとしてインストールすることができます。
smtptunnelの部分はサービスの名前なので、自由に変更することができます。
あとはサービスの設定でマシンの起動と同時にstoneが起動するようにしておけばよいでしょう。
ちなみにサービスをアンインストールする場合は下記のようにします。
インストール時につけた名前を入力する必要があります。
あとはTracからサーバを127.0.0.1、ポートを25にするとstoneを通してSMTPSのメールサーバにアクセスすることができるようになっているはずです。
SSL接続はstoneがやってくれるので、Tracのuse_tlsオプションはOffにしておきます。
このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/4088
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。
OpenID を使ってログインすることができます。
2 . 福岡銀がデマの投稿者への刑事告訴を検討中(110740)
3 . 年次の人間ドックへ(110343)
4 . 2023 年分の確定申告完了!(1つめ)(109897)
5 . 三菱鉛筆がラミーを買収(109798)