stunnel で、POP3 over SSL、SMTP over SSL

2018年2月18日

この記事は最初の投稿日から20年経過しています。内容が古い可能性があります。

いつも使っているISPが、POP3 over SSL、SMTP over SSL に対応したようなので、Zaurus(SL-B500) の、fetchmail、nomail で使えるようにしてみました。

そもそも、fetchmail は、SSL のオプションがあるようなのですが、いつも使わせてもらっている、zaurus-ja で提供されている fetchmail では使えなかったため、遠回りなんですが、POP3 も stunnel を使うようにしてます。

stunnel ですが、Zaurus 用の ipkg もあるのですが、少しバージョンが古めだったので、Zaurus でセルフコンパイルしてみました。

コンパイルしてみたのは、stunnel 4.05 です。

  • あらかじめ、OpenSSL が必要なのでインストールしておきます。ipkg でいろいろなところにあるので、google:openssl Linux Zaurusで検索すればぽろぽろと引っかかります。
  • stunnelのサイトから、stunnel-4.05 のソースを取ってきて展開
  • configure の、-lcrypto を探して、その後ろに -ldl-2.2.2 をつけまくる。
  • ./configure –with-ssl=/opt/QtParlmtop
  • make

これで、stunnel ができあがったので、/usr/sbin にコピー。

使い方は以下の通り。

  • /etc/stunnel.conf を作ります。↓な感じです。(stunnel.confの置き場所はどこでもかまいません。)
client=yes
debug=0
pid=/tmp/stunnel.pid
[pop3s]
accept=localhost:110
connect=POP3sServer:995
[smtps]
accept=localhost:25
connect=SMTPsServer:465

localhost の受信ポートをどうしようか悩んだのですが、nomail で SMTP のポートを変更する方法がわからかったため、25 にしちゃいました。

なので、なんとなく POP3 も 110 で。

  • stunnel を開始、終了するスクリプトを作ります。適当に、/etc/rc.d/init.d のスクリプトをぱくってきて作りました。
#!/bin/sh
#
. /etc/rc.d/init.d/functions
case "$1" in
start)
/usr/sbin/stunnel /etc/stunnel.conf
;;
stop)
/bin/kill `cat /tmp/stunnel.pid`
;;
restart)
;;
*)
echo "Usage: $0 (start|stop)"
exit 1
;;
esac
exit 0
  • fetchmail のメールサーバを、localhost から受信するようにします。
  • nomail のSMTPサーバをlocalhostにします。(/etc/nomail.conf)
  • root になって、上記シェルスクリプトを start します。
  • メールの送受信をしてみます。

私は、stunnel をずっと起動しておくのなんなので、メールを送受信するスクリプト内で、sudo を使って上記起動スクリプトの start、stop をするようにしてます。

mail,Zaurus

Posted by toshyon