おおさとです。 # なにか誤解があるようなので、補足しておきます。 > From: Mitsuhiro ABE <abem@xxxxxxxxxxx> > Date: Wed, 27 Nov 2002 15:07:06 +0900 > > 554 <oosato@xxxxxxxxxxxxx@[210.138.117.70]>: Recipient address rejected: Relay access denied > > となりますし、 > > /@.*@/ REJECT が効いているようですね。このようになるのが目標です。 私のサーバですが、regexp_table によって reject しているのではあ りません。 この reject は1個目の "@" の後全部をドメイン名とみて拒否している ものです。 /@.*@/ REJECT が効いているのではありません。 > > RCPT To: oosato+40tomonet+2Eco+2Ejp@[210.138.117.70] > > では、"@" 以前を local-part と見て、 > > uranus postfix/local[32116]: DC2991F833: to=<oosato+40tomonet+2Eco+2Ejp@[210.138.117.70]>, relay=local, delay=91, status=bounced (unknown user: "oosato+40tomonet+2eco+2ejp") > > あーー。バウンスされてる。配送されてますね。これは、危険です。 > +40 +2E に対しても/40(.*)2E(.*)@/ REJECTのように拒否できるはずです。 こちらは、自ホスト宛てなので受け取ります。"@" より前全部を local-part とみて、user unknown です。 正しい動作です。 > /@.*@/ REJECT の設定から/[@!%].*[@!%]/ REJECT へ > されたほうがよいのでは、ないでしょうか。 これは、よくありません。原則的にやってはいけません。 なぜなら、"!", "%", "." などの文字は local-part の構成要素です。 (RFC2822参照) これらの文字が含まれていても受け取るのは正しい動作ですし、もし そのユーザが存在しなかったら bounce しなければなりません。 もちろん、そのユーザが存在する可能性もあります。そのときは正し く配送されなければなりません。 -- kazz@xxxxxxxxxxxxxx/oosato@xxxxxxxxxxxxx/大里和朗