stunnel で、POP3 over SSL、SMTP over SSL
この記事は最初の投稿日から21年経過しています。内容が古い可能性があります。
いつも使っている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 をするようにしてます。