Postfixのaliasesに関する質問です。


http://fedorasrv.com/openpne.shtml
このページと基本的に同じようにSNSを(2つ)構築しております。

ページ中段の「メール投稿設定」/etc/aliases.regexpの中身に
正規表現の宛先メールアドレスを判断する部分で、『 (@.*)? 』という記述がありますが、

たとえば、

abc@example.com

をaliasesに投げ込まれる(?)とき、

『 abc 』で投げ込まれる場合と、『 abc@example.com 』投げ込まれる場合があるということでしょうか。

家のFedora7では、『 abc 』で投げ込まれているため、上記の『 (@.*)? 』は書く必要がないようです。

『 abc@example.com 』のように、ドメインを含めて投げ込まれるようにしたいのですが、どうすればいいのでしょうか。

(バーチャルドメインで2つのSNSを立ち上げたいため、携帯メール投稿で上記のことをする必要があります)

よろしくお願いいたします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2008/01/21 17:09:57
  • 終了:2008/01/21 18:13:01

回答(1件)

id:namiheikun No.1

namiheikun回答回数75ベストアンサー獲得回数62008/01/21 17:52:56

ポイント60pt

http://sky.ap.teacup.com/applet/webpg/18/trackback

私は、alias_mapsで切らずにvirtual_alias_mapsで切っております。

1つのpostfixサーバで2つ以上のドメインを扱う場合はvirtualを使いますのでそれを使っております。

うちのサーバの設定は

/etc/postfix/virtual.openpneを作成して

/^get\@hogehoge1\.jp$/ hogehoge1

/^p[0-9].*-[0-9a-f]{12}\@hogehoge1\.jp$/ hogehoge1

/^t[0-9].*-[0-9a-f]{12}\@hogehoge1\.jp$/ hogehoge1

/^b[0-9].*-[0-9a-f]{12}\@hogehoge1\.jp$/ hogehoge1

/^get\@hogehoge2\.jp$/ hogehoge2

/^p[0-9].*-[0-9a-f]{12}\@hogehoge2\.jp$/ hogehoge2

/^t[0-9].*-[0-9a-f]{12}\@hogehoge2\.jp$/ hogehoge2

/^b[0-9].*-[0-9a-f]{12}\@hogehoge2\.jp$/ hogehoge2

/etc/postfix/main.cfでは

virtual_alias_maps = regexp:/etc/postfix/virtual.openpne

で、私はSpamassassinとProcMailを使ってるのでProcMailでメールの処理をさせています。

hogehoge1とhogehoge2の.forwardに

"|IFS='' && exec /usr/bin/procmail -f- || exit 75 #hogehoge1"

hogehoge1とhogehoge2の.procmailrc

PATH=/bin:/usr/bin:/usr/sbin

LOGFILE=/var/log/procmail_log

LOCKFILE=$HOME/.lockfile

:0 c

| /usr/local/php5/bin/php /home/hogehoge1/OpenPNE.sns/bin/mail.php

って感じです。

この設定をしたときに参考にしたHPを忘れてしまったのですが設定自体は上記のような感じです。

(@.*)?の部分はメールがドメイン関係無しに振り分ける設定になっているためすべて同じことになってしまいますので

alias_mapsの指定ではなくバーチャルドメインの場合はvirtual_alias_mapsの方で指定するようにしてください。

したがって正規表現のアドレスチェックの部分はドメイン名まで指定して記述するようになります。

ProcMailを使わないのであれば、virtual.openpneの中で直接プログラムをキックすればいいと思います。

/^get\@hogehoge1\.jp$/ "|/usr/local/php5/bin/php /home/hogehoge1/OpenPNE/bin/mail.php"

/^p[0-9]+-[0-9a-z]{12}\@hogehoge1\.jp$/ "|/usr/local/php5/bin/php /home/hogehoge1/OpenPNE/bin/mail.php"

/^t[0-9]+-[0-9a-z]{12}\@hogehoge1\.jp$/ "|/usr/local/php5/bin/php /home/hogehoge1/OpenPNE/bin/mail.php"

/^b[0-9]+-[0-9a-z]{12}\@hogehoge1\.jp$/ "|/usr/local/php5/bin/php /home/hogehoge1/OpenPNE/bin/mail.php"

すこしわかりにくいかも知れませんがどうでしょうか?

id:elec_naoki

本当にありがとうございました。

この設定にしたいと思います。

2008/01/21 18:12:41
  • id:shigeya
    古いネタにフォローして申し訳ないのですが、他で困るひともいるかもしれないので。。
    (他のスレッドにでているかもしれないけど)

    virtual_alias_map は、program mailer 書けないので上記の方法は駄目です。

    virtual.openpne の中は、適当なアドレス (hogehoge1-incoming) 宛に直す。たとえば、

    /^p[0-9]+-[0-9a-z]{12}\@hogehoge1\.jp$/ hogehoge1-incoming

    とし、/etc/aliases で

    hogehoge1-incoming: "|/usr/local/php5/bin/php /home/hogehoge1/OpenPNE/bin/mail.php"

    みたいにすると良いです(newaliases 忘れずに)

    こちらはこれで動きました。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません