http://minkara.carview.co.jp/userid/154254/blog/13268055/ qmailについて †インストール †
SMTP-AUTHでインストール †#apt-get install qmail-src ucspi-tcp-src その後競合にあたるMTA(Exim4とか)はかたっぱしから削除する aptitude remove exim4-base/sendmail... コンパイル&インストール #build-ucspi-tcp Enter a directory where you would like to do this [/tmp/ucspi-tcp] [Enter] Enter..の後はコンパイルしてくれる [Enter] Do you want to remove all files in /tmp/ucspi-tcp,except ucspi-tcp_0.88-15_i386.deb now? [Yn] [Y] Do you want to install ucspi-tcp_0.88-15_i386.deb now? [Yn] [Y] Do you want to purge ucspi-tcp-src now? [yN] [N] Good luck!で出たら終わり。 今後はコンパイルしなくても以下のdebファイルを使えばインストール出来る。 aya@example:/tmp/ucspi-tcp/ucspi-tcp_0.88-15_i386.deb コンパイル&インストール cd /tmp/ wget http://members.elysium.pl/brush/qmail-smtpd-auth/dist/qmail-smtpd-auth-0.31.tar.gz tar xzvf ./qmail-smtpd-auth-0.31.tar.gz cd ./qmail-smtpd-auth-0.31 #build-qmail をしてenterをまっている間に以下を行う。 cp /tmp/qmail-smtpd-auth-0.31/* /tmp/qmail/qmail-1.03 aya@example:/tmp/qmail/qmail-1.03$ sudo patch -p0 < auth.patch patching file Makefile Hunk #2 FAILED at 1540. 1 out of 3 hunks FAILED -- saving rejects to file Makefile.rej patching file TARGETS Hunk #1 succeeded at 250 with fuzz 1. patching file qmail-smtpd.8 Hunk #3 succeeded at 245 (offset 41 lines). patching file qmail-smtpd.c Hunk #1 FAILED at 23. Hunk #2 succeeded at 73 with fuzz 1 (offset 11 lines). Hunk #3 succeeded at 312 with fuzz 2 (offset 71 lines). Hunk #4 succeeded at 508 (offset 94 lines). Hunk #5 succeeded at 738 (offset 94 lines). 1 out of 5 hunks FAILED -- saving rejects to file qmail-smtpd.c.rej がーん。patchが当たらない。 と言う訳で自分で修正。auth.patchをみて修正する
自己責任でご利用ください。 unzip patchedQmail.zip cp ./patchedQmail/* /tmp/qmail/qmail-1.03 その後Enter...を押すとpatchと一緒にコンパイルしてくれる。 Good luck! で出たら終わり。 設定ファイルを作成する †/var/qmail/control/ †
PLAIN 認証を確認 †aya@example:/etc/init.d$ telnet localhost 25 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 220 example.jp ESMTP helo localhost 250 example.jp 一番最初は上記の様に出る aya@example.jpはvpopmailで追加した仮想メールアドレスでも、shellアカウントでもよさげ。。 aya@example:/etc/init.d$ perl -MMIME::Base64 -e 'print encode_base64("aya@example.jp\0aya@example.jp\0ayarules");' YXlhLmpwAGF5YS5qcABheWFydWxlcw== をコピーしておく。 再度 aya@example:/etc/init.d$ telnet localhost 25 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 220 example.jp ESMTP EHLO localhost 250-aida-inc.jp 250-AUTH LOGIN CRAM-MD5 PLAIN 250-AUTH=LOGIN CRAM-MD5 PLAIN 250-PIPELINING 250 8BITMIME 以下を入れてみる。 AUTH PLAIN YXlhLmpwAGF5YS5qcABheWFydWxlcw== 先ほど生成したものを入れる で 235 ok, go ahead (#2.0.0) :) メール受信を確認するには以下のコマンドで出来る。 echo -e 'To: hoge@domain.jp\nSubject: テストメール\n\nqmail-injectのテストです。' | nkf -j | /var/qmail/bin/qmail-inject 自サーバがメールを送ることが出きるかどうか確認 telnet 192.168.11.1 smtp Trying 192.168.11.1... Connected to 192.168.11.1. Escape character is '^]'. 220 example.jp ESMTP ehlo 192.168.11.1 250-example.jp 250-PIPELINING 250 8BITMIME mail from <support@example.jp> 250 ok rcpt to <aya@example.jp>? 250 ok data 354 go ahead subject:"test" this is teststs . 250 ok 1260511586 qp 19523 quit 221 example.jp Connection closed by foreign host. SMTP AUTH †その他 †qmailにあるmaildir2mboxコマンドについて †Maildir形式のメールをmbox形式に変換したい時には、qmailパッケージに入っているmaildir2mboxが便利。 まず自分のshが/bin/bashだとして、 export MAILDIR=/home/hoge/Maildir export MAIL=/home/hoge/new-mail.mbox export MAILTMP=/home/home/new-mail-tmp.mbox として設定する env で確認も出来る その後に /usr/bin/maildir2mbox でenterすると、上記のMAILDIRからMAILへmbox形式のメールに変換してくれる。注意点は一度コマンドを打つと、MAILDIR元のメールは消えてしまう、という事なので、変換元はバックアップを取って作業するのはよいかと思う。 余談だがMailDealer?にmboxをインポートすると、メール区分が対応済みになってしまうので、新着フォルダーに入らない。メールの検索でインポートしたメールを探してメール区分を変えるしかなさげ。めんどくさ! error †NOQUEUE: SYSERR(root): hash map "access": missing map file /etc/mail/acce ss.db: No such file or directory †sm-mta[4649]: ruleset=check_relay, arg1=localhost, arg2=127.0.0.1, relay=localhost [127.0.0.1], reject=451 4.3.0 Temporary system failure. Please try again later. †参考URL † |