Postfixでアルファベットの大文字を含むメールアドレスにメールを送れない

ALL
スポンサーリンク

Linuxではアルファベットの大文字を含むユーザを作成することが出来ます。
このユーザのメールボックスは、通常ユーザのホームディレクトリ下にあります。

ところが、「Postfixで大文字のユーザ名が勝手に小文字になる – それ」 によると、postfixはアルファベットの大文字を含むメールボックスにメールを送れないようです。
その為、ユーザ名に大文字を含むユーザにメールが届かないことになります。

上記は2009年の情報ですが、以下から最新の Postfix のソースコードをダウンロードして確認してみました。

Postfix Source Code

すると、安定板 postfix-2.11.0、開発版 postfix-2.12-20140406 でも、src/local/recipient.c の 259行目でアドレスを小文字に変換しています。

src/local/recipient.c

251    /*
252     * Set up the recipient-specific attributes. If this is forwarded mail,
253     * leave the delivered attribute alone, so that the forwarded message
254     * will show the correct forwarding recipient.
255     */
256    if (state.msg_attr.delivered == 0)
257         state.msg_attr.delivered = state.msg_attr.rcpt.address;
258    state.msg_attr.local = mystrdup(state.msg_attr.rcpt.address);
259    lowercase(state.msg_attr.local);
260    if ((state.msg_attr.domain = split_at_right(state.msg_attr.local, '@')) == 0)
261         msg_warn("no @ in recipient address: %s", state.msg_attr.local);

つまり、2014年4月12日時点の最新版でも Postfixでアルファベットの大文字を含むメールアドレスにメールを送れないことになります。
しかも、ソースコードを見た限りでは、強制的に大文字を小文字に変換しており、設定で回避も出来ないようです。
これは知らないとかなり悩むことになりますね。

参考

Postfixで大文字のユーザ名が勝手に小文字になる – それ
Postfixのぺーじ-Postfix Q and A
CentOS6でのメールサーバの設定(postfixその1)

コメント