annotate README.qmailapop @ 1:28a55bc1110c imapext-2007-1

[mq]: imapext
author yuuji@gentei.org
date Mon, 14 Sep 2009 19:23:11 +0900
parents
children d741b3ecc917
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

yatex.org