qpsmptdのインストールと設定

qpsmtpd

qpsmptdとは、perlで書かれたsmtpサーバです。

qpsmtpdユーザーを作成

qpsmtpd用にユーザーを作成します。

# adduser smtpd

インストール

smtpdユーザにログインして、qpsmtpdで使うモジュールをインストールします。

$ cpanm Net::DNS
$ cpanm MIME::Base64
$ cpanm Mail::Header


githubからcloneしてきます。

$ git clone git://github.com/smtpd/qpsmtpd.git


masterブランチは開発中のバージョンなので、
安定版のバージョンをチェックアウトします。

$ git checkout -b local_branch v0.84


qpsmptdをインストールしたディレクトリのパーミッションを以下のように設定します。

$ chmod o+t ~/smptd/qpsmtpd/


config.sampleディレクトリがあるので、リネームします。

$ mv config.sample config

設定

以下のファイルにてキューの設定を行う。

$ vi config/plugins


「queue/maildir〜」のところがコメントアウトされているので、外して以下のような設定にする。

queue/maildir /home/smtpd/tmp

起動

以下のようにひとまず起動してみます。

$ ./qpsmtpd-forkserver -u $USER 

ポート2525で、サーバが立ち上がるはずです。
オプション「-d」をつければ、デーモンとして起動できます。

動作チェック

telnetで繋いでみます。
青いところが打ち込むところです。

$ telnet localhost 2525
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 debian2 ESMTP qpsmtpd 0.84/v0.84 ready; send us your mail, but not your spam.
HELO localhost
250 debian2 Hi Unknown [127.0.0.1]; I am so happy to meet you.
MAIL FROM: memememomo@gmail.com
250 , sender OK - how exciting to get mail from you!
RCPT TO: nantoka@example.com
250 , recipient ok
DATA
354 go ahead
From: memememomo@gmail.com
To: nantoka@example.com
Subject: test


Hello World.
.
250 Queued!
QUIT
221 debian2 closing connection. Have a wonderful day.
Connection closed by foreign host.

無事に実行出来れば、できているはず。