annotate README.qmailapop @ 4:d741b3ecc917 draft

imapext-2007f
author HIROSE Yuuji <yuuji@gentei.org>
date Thu, 30 Oct 2014 00:03:05 +0900
parents 28a55bc1110c
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
1 //
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
2 // qmail+maildir+apop+virtualdomain+POPbeforeSMTP extensions to uw-imapd
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
3 // Japanese Document below
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
4 //
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
5
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
6 [Comentary]
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
7 This patch kit enables uw-imapd to handle;
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
8 * maildir
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
9 * qmail's extended mail addresses of user (~/.qmail-ext)
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
10 * Postfix's extended mail addresses of user (~/.forward+ext)
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
11 * Accesses to extended mail addresses (authenticated with ~/.apop-ext)
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
12 * Virtual domain user switching
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
13
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
14 Because this package is produced those who want to avail all features above,
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
15 we recommend you to turn on all switches for every extension.
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
16 Please let me recommend you not to use plain POP3 with this package.
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
17 If you want to cling onto POP3, please use qmail-pop3d which comes with
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
18 qmail distribution.
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
19
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
20 [Configuration]
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
21 You can select these compilation switches.
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
22
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
23 Where: ./Makefile
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
24 Switch: QMAIL
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
25 What: Support maildir and user's address extension.
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
26 This switch is requisite.
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
27
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
28 Where: ./Makefile
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
29 Switch: INET6
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
30 What: Support IPv6 address
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
31 WORKS fine only via ucspi-tcp+ipv6patch
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
32 If you are using tcpserver-ipv6, set this.
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
33
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
34 Where: ./Makefile
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
35 Switch: POSTFIX
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
36 What: Defaults user address file to ~/.forward and
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
37 extension delimiter to "+".
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
38 Setting this flag on is equavalent to declare
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
39 -DQMAIL -DDOTQMAIL=".forward" -DXADDR_DELIM="+"
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
40 in ./Makefile.
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
41
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
42 Where: ./Makefile
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
43 Switch: RESTRICT_POP
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
44 What: Restrict POP3 access from unsafe network. Allow
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
45 normal pop3 access only when environment variable
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
46 INTRANET is set. This can be controled by tcpd with
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
47 /etc/hosts.allow.
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
48
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
49 Where: ./src/osdep/unix/Makefile
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
50 Switch: DEFAULTMAILDIR (quoted string)
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
51 What: Default users' maildir directory when a user does not
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
52 have ~/.qmail file.
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
53 The default value is null. If null, the default value in
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
54 osdep/unix/maildir.c("Maildir") will be taken.
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
55
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
56 Where: ./src/osdep/unix/Makefile
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
57 Switch: QMAILCONTROL (quoted string)
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
58 What: Default qmail/control directory.
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
59 The default value is "/var/qmail/control"
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
60
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
61 Where: ./src/osdep/unix/Makefile
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
62 Switch: USERAPOPFILE (string)
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
63 What: User's APOP password file relative to their home dir.
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
64 ".apop" is set by default.
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
65 One of recommended values is "Mail/.apop".
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
66 NOTE THAT USERAPOPFILE should NOT be readable by others.
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
67 Do chmod 600 USERAPOPFILE.
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
68
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
69 Where: ./src/osdep/unix/Makefile
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
70 Switch: APOPOPEN (string)
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
71 What: Command name to decode APOP password from USERAPOPFILE
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
72 "/usr/local/sbin/deapop" is set by default.
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
73 NOTE THAT you should install deapop command too.
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
74 If you don't want to think about this,
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
75 install the following shell script into /usr/local/sbin/deapop
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
76
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
77 #!/bin/sh
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
78 cat "$@"
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
79
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
80 Where: ./src/osdep/unix/Makefile
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
81 Switch: POPBEFORESMTP
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
82 What: Turn on `POP before SMTP' feature.
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
83 The next variable POP3RECORDER takes effect when
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
84 this variable is defined.
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
85
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
86 Where: ./src/osdep/unix/Makefile
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
87 Switch: POP3RECORDER (string)
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
88 What: Command name to achieve `POP before SMTP'.
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
89 "/usr/local/etc/pop3-record" is set by default.
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
90 This recorder program should take one argument of
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
91 fully qualified hostname (or IP address) where the POP
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
92 authentication is passed to.
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
93
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
94 [NO WARRANTY]
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
95
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
96 This package comes from absolutely NO WARRANTY. The author of
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
97 this package is not responsible for any result caused by using
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
98 this software. The copyright of the extension part is held by
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
99 HIROSE, Yuuji [yuuji@gentei.org].
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
100
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
101 [COPYING]
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
102
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
103 You can re-distribute this package without any cost except some
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
104 practical cost(magnetical media or so). Although this package
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
105 basically obeys the license terms in a file CPYRIGHT in this
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
106 directory, there is one exception; when you modify the code
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
107 against the extensional part (over uw-imapd) and that
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
108 modification is a kind of bug-fix, modification should be telled
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
109 to the author of extensional part if you are thinking of
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
110 re-distribute your modification to the public. This limitation
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
111 is to aim to make this extensional package reasonably safe
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
112 always in any time. Please feel free to hack and distribute it!
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
113
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
114
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
115 -- Japanese document follows...
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
116
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
117 【qmail+maildir+APOP用POPサーバ】
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
118
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
119 このimapパッケージは、qmailとIMAPを組み合わせて使うこと *ではな
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
120 く* qmail+maildir+APOPを柔軟に利用しようということを目的として作
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
121 られましたのでIMAPでのテストは十分に行なわれていません。このパッ
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
122 ケージは以下のような方を満足させるでしょう。
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
123
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
124 * qmailを利用している
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
125 * mail spool には安全性の高い Maildir 形式を利用し(させ)ている
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
126 * ~/.qmail-ext ファイルによるqmailの拡張アドレスをよく利用している
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
127 * virtual domain を活用しまくっている
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
128
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
129 上記のようなことができるqmailですが、この機能を使いこなすために
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
130 はUNIXマシンにログインしてローカルファイルを見に行くメイルリーダ
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
131 を使うという方法しかありませんでした。これでは不便なので、上記の
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
132 使い分けを認識するPOPサーバを作ろうということで作成したのがこの
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
133 パッケージです。またPOPのみのサーバ利用が多い昨今、リモートから
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
134 の認証にログインパスワードを使わずにメイル専用パスワードを利用さ
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
135 せる変更も行なっています。これによりPOPもAPOP(POPのパスワード認
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
136 証の暗号化版)も共通のパスワードを利用できるようにしました。また、
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
137 POP の場合は既存ユーザのパスワード管理を考えて、認証時にUNIXパス
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
138 ワードも参照するようにしています。
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
139
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
140 もう一点、POPはパスワードをプレインテキストで流すため、外部ネッ
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
141 トワークからの利用は危険です。そこでPOPの利用を一部のネットワー
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
142 クに限定する機能もつけました(tcp_wrappersやtcpserverが必要)。
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
143
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
144 【インストール】
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
145
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
146 デフォルト設定では
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
147
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
148 * POP3は拒否する
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
149 * ユーザのパスワード設定ファイルは ~/.apop
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
150 * ~/.apop のデコードプログラムは /usr/local/sbin/deapop
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
151
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
152 となっています。APOP認証はサーバ側で必ず元のパスワードを知る必要
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
153 があります。これまでのAPOPサーバは全てのユーザ毎に管理者権限でパ
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
154 スワードを設定する必要がありました。一見安全そうですが、じつはユー
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
155 ザがパスワードを変更する頻度を限りなくゼロに近づけているだけです。
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
156 そもそもAPOPはサーバ側で元パスワードを取得する必要があるので必ず
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
157 復元可能な形で保存されなければなりません。ということはどんなに凝っ
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
158 た方法で保存しても結局は復号できるのですから、複雑な方法で暗号化
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
159 &格納をすることは手間を増やすだけです。いずれにしてもroot権限さ
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
160 えあれば元のパスワードは簡単に読めるわけですから、最初からユーザ
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
161 自身にパスワード管理をさせてしまっても何ら問題は無く、むしろその
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
162 方がパスワードをこまめに変えてくれる可能性が(ちょりっと)上がりま
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
163 す。ただし、誰にでもパスワードが読めては困るので、パスワードファ
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
164 イルを chmod 600 しておかないとメイルの取り込みが出来ないように
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
165 なっています。またどうしても平文でファイルに保存するのだけはいや
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
166 だーという場合のために、APOPパスワードファイルは
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
167 /usr/local/sbin/deapop というコマンドを経由して読み込むようになっ
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
168 ています。これにデコードする処理を書いておきます。もし、とくにエ
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
169 ンコードしなくてもいいという場合は
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
170
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
171 #!/bin/sh
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
172 cat "$@"
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
173
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
174 というシェルスクリプトでも入れておいてください。このパスワードは
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
175 ログインパスワードとは独立しているのでこれで大きな問題は起こらな
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
176 いでしょう(責任は持ちませんが:-)。
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
177
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
178 コンパイル時の変数は上記英文解説の場所を読んでください。
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
179
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
180 【ユーザから見た使い方】
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
181
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
182 まず、~/.qmail に正しくmaildirが設定されていることを確認します。
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
183 maildirをまだ作っていない場合は、
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
184
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
185 % /var/qmail/bin/maildirmake ~/maildir
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
186
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
187 とし、~/.qmail に
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
188
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
189 ./maildir/
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
190
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
191 と書きます。またメイル専用パスワードを ~/.apop に記録します。
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
192 これは apoppasswd コマンドで行ないます。
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
193
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
194 % apoppasswd
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
195
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
196 これで完了です。apoppasswdコマンドは APOPtools/apoppasswd にある
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
197 ので管理者がサイトの環境に手直しした上で一般ユーザのPATHの通る場
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
198 所にインストールして使って下さい。
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
199
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
200 さて、拡張アドレスを使いましょう。ログイン名を login とします。
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
201 login-isogi@hogehoge.co.jp のようなアドレスは ~/.qmail-isogi とい
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
202 うファイルで作成できます。login-isogi 用のmaildirを作ります。
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
203
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
204 % /var/qmail/bin/maildirmake ~/isogidir
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
205
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
206 これを ~/.qmail-isogi に登録します。
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
207
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
208 ./isogidir/
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
209
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
210 最後に login-isogi 用のパスワードを設定します。
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
211
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
212 % apoppasswd -e isogi -c
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
213 Enter APOP Password:
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
214
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
215 とすると、maildirの作成とパスワードの設定が同時に行えます。
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
216 maildirとパスワードの作成が完了したら、利用してるメイルリーダの
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
217 APOP アカウントの「アカウント名」をlogin-isogi にして接続します。
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
218
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
219 【POP before SMTPについて】
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
220
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
221 まず tcp_wrappers を利用している場合について説明します。
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
222 tcpserverを利用する場合も原理は同じなので仕組みだけ理解してくだ
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
223 さい。
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
224
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
225 tcp_wrapperとtcp-envを組み合わせてSMTPサーバを中継用に使うドメイ
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
226 ンを限定して使っていると思います。これの発展形でPOP接続して来た
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
227 ドメインだけにSMTPサーバを使わせる手法のことを "POP before SMTP"
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
228 と呼びます。このパッケージでも APOP 接続をしたドメインに対して
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
229 SMTPの中継許可を与えることが出来ます。本パッケージの ./APOPtools
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
230 ディレクトリにある pop3-* を /usr/local/etc にインストールします。
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
231 3つのファイルの実体は同じです。さらに以下の作業をします。
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
232
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
233 * 原本となる /etc/hosts.allow を /etc/hosts.allow.src にコピー
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
234 * crontab で10分毎に /usr/local/etc/pop3-age を起動させる
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
235
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
236 後者は、大抵のOSの場合 root の crontab に
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
237
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
238 */10 * * * * root /usr/local/etc/pop3-age
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
239
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
240 などと書けば設定できます。pop3-* スクリプトは自身の環境に合わせ
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
241 て適宜修正して下さい。この段階で、tcp_wrapper の定義ファイルは
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
242 /etc/hosts.allow.src が大元で、/etc/hosts.allow はcronによって自
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
243 動生成されるものとなります。hosts.allowをいじっても自動的に上書
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
244 きされてしまうので、設定を変えるときは *必ず hosts.allow.src を
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
245 編集する* ことに注意して下さい。
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
246
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
247 さらにipop3dを起動するときに接続してきたホストが環境変数
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
248 RELAYCLIENT に入るようにしておきます。/etc/inetd.conf でipop3dを
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
249 起動するときに tcp_wrapper 経由となることを確認します。
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
250
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
251 [/etc/inetd.conf]
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
252 pop3 stream tcp nowait root /usr/libexec/tcpd /usr/libexec/ipop3d
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
253
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
254 1999年頃以降のPC-UNIXではinetdにデフォルトでtcpdが組み込まれてい
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
255 ることが多いので、inetd.confにtcpdははさまなくて良いこともありま
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
256 す。続いて /etc/hosts.allow.src で環境変数の設定が起きるようにし
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
257 ます。
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
258
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
259 [/etc/hosts.allow.src]
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
260 ipop3d : all : setenv RELAYCLIENT %h
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
261
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
262 これで POPサービスを利用しに来たクライアントのアドレスが環境変数
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
263 に入ります。
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
264
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
265 tcpserverの場合は、付属の pop3-record スクリプトの後半に例がある
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
266 のでそれを利用してください。
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
267
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
268 なお、tcp_wrappers 用の pop3-age スクリプトは負荷の高いマシンで
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
269 は hosts.allow ファイルが空になる可能性があります。lockすれば多
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
270 少ましになるでしょうが完ぺきではありません。もし、hosts.allowの
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
271 書き換えに失敗するような負荷の高い環境で使う場合は tcp_wrappers
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
272 ではなく、tcpserverでのアクセス制御をすることを強く勧めます。こ
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
273 ちらはロックの必要もなく、安全にアクセス制御ファイルの更新ができ
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
274 ます。
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
275
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
276 【POPアクセス制御について】
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
277
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
278 POP3とAPOPは同じポートを使うので「外部からはAPOPだけ許す」などの
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
279 制御はルータやtcp_wrappersなどだけではできません。このipop3dでは、
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
280 生のPOP3は環境変数INTRANETが定義されているときだけに利用を制限す
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
281 ることができます。tcp_wrappers の例を示します。
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
282
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
283 ipop3d : localhost .localnet.hoge.jp \
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
284 : setenv INTRANET : setenv RELAYCLIENT %h
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
285 ipop3d : all : setenv RELAYCLIENT %h
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
286
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
287 としておけば、ローカルネットワーク内だけで生POP3を使うことができ
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
288 ます。
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
289
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
290 【virtualdomain機能について】
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
291
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
292 qmailでは /var/qmail/control/virtualdomains を使うことで、ユーザ
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
293 が任意のメイルドメインを持つことができます。これを解釈するように
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
294 しました。/var/qmail/control/virtualdomain ファイルで
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
295
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
296 virtual.hoge.co.jp:user1
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
297 dokan.hoge.co.jp:user2-dokan
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
298
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
299 としておくと、XX@virtual.hoge.co.jp は ~user1/.qmail-XX に配送さ
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
300 れ、YY@dokan.hoge.co.jp は ~user2/.qmail-dokan-YY に配送されます。
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
301 それがMaildirスプールを含む場合、本パッケージのIMAP/POPで取り込
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
302 むことができます。デフォルトではこのためのパスワードはそれぞれ
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
303
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
304 ~user1/.apop-XX
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
305 ~user2/.apop-dokan-YY
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
306
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
307 ファイルに保存しておかなければなりません。
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
308
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
309 【Postfixの拡張アドレス対応について】
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
310
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
311 Postfixによる ~/.forward+ext で発生する拡張アドレスは、その配送
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
312 先がMaildirであれば本パッケージでも利用できます。Postfix のデフォ
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
313 ルト設定の
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
314 forward_path = $home/.forward$recipient_delimiter$extension,
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
315 $home/.forward
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
316 recipient_delimiter = +
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
317
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
318 のまま Postfix を動かしている場合はトップレベルのMakefileの
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
319 EXTRACFLAGS に -DPOSTFIX を追加して下さい(-DQMAILも必要です)。こ
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
320 れにより、拡張アドレスを決めるファイルが ".forward" に、拡張部分
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
321 を区切る文字列が "+" になります。いずれかを変更している場合はた
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
322 とえば、
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
323
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
324 -DDOTQMAIL=".postfix" -DXADDR_DELIM="-"
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
325
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
326 のように変更できます。もし、Postfix の .forward+ext を利用する場
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
327 合は周辺ツールの APOPtools/apoppasswd, APOPtools/apopcall.c の対
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
328 応する変数も変更する必要があることに注意して下さい。また、パスワー
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
329 ドファイルも ~/.apop-ext ではなく~ /.apop+ext となることに注意が
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
330 必要です。これらが面倒な場合は、Postfix の設定の方で .qmail-ext
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
331 を見るようにしてしまうのも手です。この場合は
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
332
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
333 recipient_delimiter = -
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
334 forward_path = $home/.forward$recipient_delimiter$extension,
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
335 $home/.qmail$recipient_delimiter$extension,
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
336 $home/.forward
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
337
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
338 とすると ~/.qmail-ext も参照するようになり、デフォルト状態の本パッ
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
339 ケージのまま利用することができるでしょう。
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
340
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
341 【Postfixの POP before SMTPについて】
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
342
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
343 main.cf で たとえば次のようにします。
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
344
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
345 smtpd_recipient_restrictions =
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
346 permit_mynetworks
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
347 check_client_access hash:/etc/postfix/client_access
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
348
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
349 ここで /etc/postfix/client_access は POP before SMTP の許可ホス
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
350 トリストを保持するためのファイル名で、既に使われてはいないものに
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
351 します。配布ディレクトリの APOPtools/pop3-record.postfix は
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
352 /etc/postfix/client_access ファイルをリレー許可判定に使うことを
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
353 前提とした Postfix 用のスクリプトです。
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
354
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
355 【謝辞】
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
356
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
357 安井卓さん(tach@debian.or.jp)にはsyslog関係のパッチを頂きました。
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
358 ここに感謝の意を表します。
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
359
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
360 【免責】
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
361
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
362 IMAPパッケージに本ドキュメントで説明した拡張機能を追加する部分の
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
363 著作権は広瀬雄二[yuuji@gentei.org]が保持します。このプログラムを
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
364 用いて生じた如何なる結果に対しても著作権者は責任を負いません。
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
365
28a55bc1110c [mq]: imapext
yuuji@gentei.org
parents:
diff changeset
366 2009/9/14 yuuji@gentei.org
4
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
367 //
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
368 // qmail+maildir+apop+virtualdomain+POPbeforeSMTP extensions to uw-imapd
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
369 // Japanese Document below
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
370 //
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
371
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
372 [Comentary]
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
373 This patch kit enables uw-imapd to handle;
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
374 * maildir
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
375 * qmail's extended mail addresses of user (~/.qmail-ext)
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
376 * Postfix's extended mail addresses of user (~/.forward+ext)
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
377 * Accesses to extended mail addresses (authenticated with ~/.apop-ext)
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
378 * Virtual domain user switching
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
379
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
380 Because this package is produced those who want to avail all features above,
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
381 we recommend you to turn on all switches for every extension.
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
382 Please let me recommend you not to use plain POP3 with this package.
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
383 If you want to cling onto POP3, please use qmail-pop3d which comes with
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
384 qmail distribution.
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
385
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
386 [Configuration]
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
387 You can select these compilation switches.
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
388
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
389 Where: ./Makefile
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
390 Switch: QMAIL
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
391 What: Support maildir and user's address extension.
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
392 This switch is requisite.
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
393
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
394 Where: ./Makefile
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
395 Switch: INET6
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
396 What: Support IPv6 address
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
397 WORKS fine only via ucspi-tcp+ipv6patch
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
398 If you are using tcpserver-ipv6, set this.
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
399
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
400 Where: ./Makefile
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
401 Switch: POSTFIX
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
402 What: Defaults user address file to ~/.forward and
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
403 extension delimiter to "+".
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
404 Setting this flag on is equavalent to declare
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
405 -DQMAIL -DDOTQMAIL=".forward" -DXADDR_DELIM="+"
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
406 in ./Makefile.
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
407
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
408 Where: ./Makefile
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
409 Switch: RESTRICT_POP
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
410 What: Restrict POP3 access from unsafe network. Allow
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
411 normal pop3 access only when environment variable
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
412 INTRANET is set. This can be controled by tcpd with
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
413 /etc/hosts.allow.
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
414
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
415 Where: ./src/osdep/unix/Makefile
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
416 Switch: DEFAULTMAILDIR (quoted string)
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
417 What: Default users' maildir directory when a user does not
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
418 have ~/.qmail file.
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
419 The default value is null. If null, the default value in
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
420 osdep/unix/maildir.c("Maildir") will be taken.
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
421
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
422 Where: ./src/osdep/unix/Makefile
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
423 Switch: QMAILCONTROL (quoted string)
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
424 What: Default qmail/control directory.
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
425 The default value is "/var/qmail/control"
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
426
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
427 Where: ./src/osdep/unix/Makefile
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
428 Switch: USERAPOPFILE (string)
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
429 What: User's APOP password file relative to their home dir.
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
430 ".apop" is set by default.
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
431 One of recommended values is "Mail/.apop".
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
432 NOTE THAT USERAPOPFILE should NOT be readable by others.
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
433 Do chmod 600 USERAPOPFILE.
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
434
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
435 Where: ./src/osdep/unix/Makefile
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
436 Switch: APOPOPEN (string)
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
437 What: Command name to decode APOP password from USERAPOPFILE
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
438 "/usr/local/sbin/deapop" is set by default.
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
439 NOTE THAT you should install deapop command too.
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
440 If you don't want to think about this,
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
441 install the following shell script into /usr/local/sbin/deapop
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
442
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
443 #!/bin/sh
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
444 cat "$@"
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
445
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
446 Where: ./src/osdep/unix/Makefile
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
447 Switch: POPBEFORESMTP
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
448 What: Turn on `POP before SMTP' feature.
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
449 The next variable POP3RECORDER takes effect when
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
450 this variable is defined.
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
451
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
452 Where: ./src/osdep/unix/Makefile
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
453 Switch: POP3RECORDER (string)
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
454 What: Command name to achieve `POP before SMTP'.
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
455 "/usr/local/etc/pop3-record" is set by default.
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
456 This recorder program should take one argument of
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
457 fully qualified hostname (or IP address) where the POP
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
458 authentication is passed to.
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
459
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
460 [NO WARRANTY]
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
461
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
462 This package comes from absolutely NO WARRANTY. The author of
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
463 this package is not responsible for any result caused by using
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
464 this software. The copyright of the extension part is held by
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
465 HIROSE, Yuuji [yuuji@gentei.org].
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
466
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
467 [COPYING]
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
468
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
469 You can re-distribute this package without any cost except some
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
470 practical cost(magnetical media or so). Although this package
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
471 basically obeys the license terms in a file CPYRIGHT in this
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
472 directory, there is one exception; when you modify the code
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
473 against the extensional part (over uw-imapd) and that
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
474 modification is a kind of bug-fix, modification should be telled
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
475 to the author of extensional part if you are thinking of
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
476 re-distribute your modification to the public. This limitation
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
477 is to aim to make this extensional package reasonably safe
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
478 always in any time. Please feel free to hack and distribute it!
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
479
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
480
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
481 -- Japanese document follows...
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
482
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
483 【qmail+maildir+APOP用POPサーバ】
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
484
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
485 このimapパッケージは、qmailとIMAPを組み合わせて使うこと *ではな
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
486 く* qmail+maildir+APOPを柔軟に利用しようということを目的として作
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
487 られましたのでIMAPでのテストは十分に行なわれていません。このパッ
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
488 ケージは以下のような方を満足させるでしょう。
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
489
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
490 * qmailを利用している
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
491 * mail spool には安全性の高い Maildir 形式を利用し(させ)ている
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
492 * ~/.qmail-ext ファイルによるqmailの拡張アドレスをよく利用している
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
493 * virtual domain を活用しまくっている
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
494
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
495 上記のようなことができるqmailですが、この機能を使いこなすために
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
496 はUNIXマシンにログインしてローカルファイルを見に行くメイルリーダ
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
497 を使うという方法しかありませんでした。これでは不便なので、上記の
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
498 使い分けを認識するPOPサーバを作ろうということで作成したのがこの
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
499 パッケージです。またPOPのみのサーバ利用が多い昨今、リモートから
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
500 の認証にログインパスワードを使わずにメイル専用パスワードを利用さ
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
501 せる変更も行なっています。これによりPOPもAPOP(POPのパスワード認
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
502 証の暗号化版)も共通のパスワードを利用できるようにしました。また、
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
503 POP の場合は既存ユーザのパスワード管理を考えて、認証時にUNIXパス
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
504 ワードも参照するようにしています。
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
505
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
506 もう一点、POPはパスワードをプレインテキストで流すため、外部ネッ
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
507 トワークからの利用は危険です。そこでPOPの利用を一部のネットワー
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
508 クに限定する機能もつけました(tcp_wrappersやtcpserverが必要)。
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
509
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
510 【インストール】
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
511
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
512 デフォルト設定では
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
513
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
514 * POP3は拒否する
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
515 * ユーザのパスワード設定ファイルは ~/.apop
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
516 * ~/.apop のデコードプログラムは /usr/local/sbin/deapop
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
517
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
518 となっています。APOP認証はサーバ側で必ず元のパスワードを知る必要
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
519 があります。これまでのAPOPサーバは全てのユーザ毎に管理者権限でパ
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
520 スワードを設定する必要がありました。一見安全そうですが、じつはユー
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
521 ザがパスワードを変更する頻度を限りなくゼロに近づけているだけです。
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
522 そもそもAPOPはサーバ側で元パスワードを取得する必要があるので必ず
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
523 復元可能な形で保存されなければなりません。ということはどんなに凝っ
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
524 た方法で保存しても結局は復号できるのですから、複雑な方法で暗号化
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
525 &格納をすることは手間を増やすだけです。いずれにしてもroot権限さ
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
526 えあれば元のパスワードは簡単に読めるわけですから、最初からユーザ
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
527 自身にパスワード管理をさせてしまっても何ら問題は無く、むしろその
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
528 方がパスワードをこまめに変えてくれる可能性が(ちょりっと)上がりま
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
529 す。ただし、誰にでもパスワードが読めては困るので、パスワードファ
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
530 イルを chmod 600 しておかないとメイルの取り込みが出来ないように
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
531 なっています。またどうしても平文でファイルに保存するのだけはいや
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
532 だーという場合のために、APOPパスワードファイルは
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
533 /usr/local/sbin/deapop というコマンドを経由して読み込むようになっ
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
534 ています。これにデコードする処理を書いておきます。もし、とくにエ
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
535 ンコードしなくてもいいという場合は
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
536
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
537 #!/bin/sh
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
538 cat "$@"
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
539
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
540 というシェルスクリプトでも入れておいてください。このパスワードは
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
541 ログインパスワードとは独立しているのでこれで大きな問題は起こらな
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
542 いでしょう(責任は持ちませんが:-)。
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
543
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
544 コンパイル時の変数は上記英文解説の場所を読んでください。
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
545
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
546 【ユーザから見た使い方】
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
547
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
548 まず、~/.qmail に正しくmaildirが設定されていることを確認します。
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
549 maildirをまだ作っていない場合は、
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
550
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
551 % /var/qmail/bin/maildirmake ~/maildir
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
552
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
553 とし、~/.qmail に
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
554
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
555 ./maildir/
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
556
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
557 と書きます。またメイル専用パスワードを ~/.apop に記録します。
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
558 これは apoppasswd コマンドで行ないます。
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
559
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
560 % apoppasswd
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
561
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
562 これで完了です。apoppasswdコマンドは APOPtools/apoppasswd にある
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
563 ので管理者がサイトの環境に手直しした上で一般ユーザのPATHの通る場
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
564 所にインストールして使って下さい。
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
565
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
566 さて、拡張アドレスを使いましょう。ログイン名を login とします。
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
567 login-isogi@hogehoge.co.jp のようなアドレスは ~/.qmail-isogi とい
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
568 うファイルで作成できます。login-isogi 用のmaildirを作ります。
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
569
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
570 % /var/qmail/bin/maildirmake ~/isogidir
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
571
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
572 これを ~/.qmail-isogi に登録します。
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
573
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
574 ./isogidir/
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
575
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
576 最後に login-isogi 用のパスワードを設定します。
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
577
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
578 % apoppasswd -e isogi -c
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
579 Enter APOP Password:
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
580
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
581 とすると、maildirの作成とパスワードの設定が同時に行えます。
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
582 maildirとパスワードの作成が完了したら、利用してるメイルリーダの
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
583 APOP アカウントの「アカウント名」をlogin-isogi にして接続します。
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
584
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
585 【POP before SMTPについて】
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
586
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
587 まず tcp_wrappers を利用している場合について説明します。
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
588 tcpserverを利用する場合も原理は同じなので仕組みだけ理解してくだ
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
589 さい。
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
590
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
591 tcp_wrapperとtcp-envを組み合わせてSMTPサーバを中継用に使うドメイ
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
592 ンを限定して使っていると思います。これの発展形でPOP接続して来た
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
593 ドメインだけにSMTPサーバを使わせる手法のことを "POP before SMTP"
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
594 と呼びます。このパッケージでも APOP 接続をしたドメインに対して
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
595 SMTPの中継許可を与えることが出来ます。本パッケージの ./APOPtools
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
596 ディレクトリにある pop3-* を /usr/local/etc にインストールします。
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
597 3つのファイルの実体は同じです。さらに以下の作業をします。
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
598
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
599 * 原本となる /etc/hosts.allow を /etc/hosts.allow.src にコピー
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
600 * crontab で10分毎に /usr/local/etc/pop3-age を起動させる
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
601
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
602 後者は、大抵のOSの場合 root の crontab に
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
603
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
604 */10 * * * * root /usr/local/etc/pop3-age
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
605
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
606 などと書けば設定できます。pop3-* スクリプトは自身の環境に合わせ
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
607 て適宜修正して下さい。この段階で、tcp_wrapper の定義ファイルは
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
608 /etc/hosts.allow.src が大元で、/etc/hosts.allow はcronによって自
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
609 動生成されるものとなります。hosts.allowをいじっても自動的に上書
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
610 きされてしまうので、設定を変えるときは *必ず hosts.allow.src を
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
611 編集する* ことに注意して下さい。
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
612
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
613 さらにipop3dを起動するときに接続してきたホストが環境変数
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
614 RELAYCLIENT に入るようにしておきます。/etc/inetd.conf でipop3dを
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
615 起動するときに tcp_wrapper 経由となることを確認します。
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
616
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
617 [/etc/inetd.conf]
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
618 pop3 stream tcp nowait root /usr/libexec/tcpd /usr/libexec/ipop3d
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
619
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
620 1999年頃以降のPC-UNIXではinetdにデフォルトでtcpdが組み込まれてい
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
621 ることが多いので、inetd.confにtcpdははさまなくて良いこともありま
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
622 す。続いて /etc/hosts.allow.src で環境変数の設定が起きるようにし
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
623 ます。
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
624
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
625 [/etc/hosts.allow.src]
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
626 ipop3d : all : setenv RELAYCLIENT %h
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
627
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
628 これで POPサービスを利用しに来たクライアントのアドレスが環境変数
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
629 に入ります。
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
630
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
631 tcpserverの場合は、付属の pop3-record スクリプトの後半に例がある
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
632 のでそれを利用してください。
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
633
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
634 なお、tcp_wrappers 用の pop3-age スクリプトは負荷の高いマシンで
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
635 は hosts.allow ファイルが空になる可能性があります。lockすれば多
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
636 少ましになるでしょうが完ぺきではありません。もし、hosts.allowの
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
637 書き換えに失敗するような負荷の高い環境で使う場合は tcp_wrappers
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
638 ではなく、tcpserverでのアクセス制御をすることを強く勧めます。こ
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
639 ちらはロックの必要もなく、安全にアクセス制御ファイルの更新ができ
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
640 ます。
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
641
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
642 【POPアクセス制御について】
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
643
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
644 POP3とAPOPは同じポートを使うので「外部からはAPOPだけ許す」などの
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
645 制御はルータやtcp_wrappersなどだけではできません。このipop3dでは、
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
646 生のPOP3は環境変数INTRANETが定義されているときだけに利用を制限す
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
647 ることができます。tcp_wrappers の例を示します。
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
648
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
649 ipop3d : localhost .localnet.hoge.jp \
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
650 : setenv INTRANET : setenv RELAYCLIENT %h
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
651 ipop3d : all : setenv RELAYCLIENT %h
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
652
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
653 としておけば、ローカルネットワーク内だけで生POP3を使うことができ
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
654 ます。
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
655
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
656 【virtualdomain機能について】
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
657
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
658 qmailでは /var/qmail/control/virtualdomains を使うことで、ユーザ
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
659 が任意のメイルドメインを持つことができます。これを解釈するように
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
660 しました。/var/qmail/control/virtualdomain ファイルで
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
661
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
662 virtual.hoge.co.jp:user1
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
663 dokan.hoge.co.jp:user2-dokan
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
664
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
665 としておくと、XX@virtual.hoge.co.jp は ~user1/.qmail-XX に配送さ
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
666 れ、YY@dokan.hoge.co.jp は ~user2/.qmail-dokan-YY に配送されます。
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
667 それがMaildirスプールを含む場合、本パッケージのIMAP/POPで取り込
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
668 むことができます。デフォルトではこのためのパスワードはそれぞれ
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
669
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
670 ~user1/.apop-XX
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
671 ~user2/.apop-dokan-YY
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
672
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
673 ファイルに保存しておかなければなりません。
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
674
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
675 【Postfixの拡張アドレス対応について】
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
676
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
677 Postfixによる ~/.forward+ext で発生する拡張アドレスは、その配送
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
678 先がMaildirであれば本パッケージでも利用できます。Postfix のデフォ
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
679 ルト設定の
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
680 forward_path = $home/.forward$recipient_delimiter$extension,
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
681 $home/.forward
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
682 recipient_delimiter = +
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
683
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
684 のまま Postfix を動かしている場合はトップレベルのMakefileの
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
685 EXTRACFLAGS に -DPOSTFIX を追加して下さい(-DQMAILも必要です)。こ
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
686 れにより、拡張アドレスを決めるファイルが ".forward" に、拡張部分
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
687 を区切る文字列が "+" になります。いずれかを変更している場合はた
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
688 とえば、
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
689
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
690 -DDOTQMAIL=".postfix" -DXADDR_DELIM="-"
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
691
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
692 のように変更できます。もし、Postfix の .forward+ext を利用する場
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
693 合は周辺ツールの APOPtools/apoppasswd, APOPtools/apopcall.c の対
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
694 応する変数も変更する必要があることに注意して下さい。また、パスワー
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
695 ドファイルも ~/.apop-ext ではなく~ /.apop+ext となることに注意が
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
696 必要です。これらが面倒な場合は、Postfix の設定の方で .qmail-ext
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
697 を見るようにしてしまうのも手です。この場合は
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
698
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
699 recipient_delimiter = -
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
700 forward_path = $home/.forward$recipient_delimiter$extension,
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
701 $home/.qmail$recipient_delimiter$extension,
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
702 $home/.forward
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
703
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
704 とすると ~/.qmail-ext も参照するようになり、デフォルト状態の本パッ
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
705 ケージのまま利用することができるでしょう。
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
706
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
707 【Postfixの POP before SMTPについて】
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
708
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
709 main.cf で たとえば次のようにします。
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
710
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
711 smtpd_recipient_restrictions =
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
712 permit_mynetworks
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
713 check_client_access hash:/etc/postfix/client_access
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
714
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
715 ここで /etc/postfix/client_access は POP before SMTP の許可ホス
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
716 トリストを保持するためのファイル名で、既に使われてはいないものに
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
717 します。配布ディレクトリの APOPtools/pop3-record.postfix は
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
718 /etc/postfix/client_access ファイルをリレー許可判定に使うことを
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
719 前提とした Postfix 用のスクリプトです。
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
720
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
721 【謝辞】
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
722
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
723 安井卓さん(tach@debian.or.jp)にはsyslog関係のパッチを頂きました。
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
724 ここに感謝の意を表します。
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
725
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
726 【免責】
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
727
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
728 IMAPパッケージに本ドキュメントで説明した拡張機能を追加する部分の
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
729 著作権は広瀬雄二[yuuji@gentei.org]が保持します。このプログラムを
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
730 用いて生じた如何なる結果に対しても著作権者は責任を負いません。
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
731
d741b3ecc917 imapext-2007f
HIROSE Yuuji <yuuji@gentei.org>
parents: 1
diff changeset
732 2009/9/14 yuuji@gentei.org

yatex.org