- ベストアンサー
メールサーバの設定について
お世話になります。 現在、MySQLとPostfixでメールサーバを作っています。メールアカウントについてはMySQLデータベースにてバーチャルアカウントを作成し受信するようにしております。 現在、メールをmailbox(test)として保存しておりますが、その受信したメールから自動返信を行いたいと思います。設定としてaliasで行えばいいかのかと思い、aliasesにtest:|/home/test/test.cgiとましたが、受信が出来るのですが、自動的に指定したスクリプトを実行してくれません。aliasesにてmailboxで受信したメールをtest.cgiに送るとしたはずなのにうまくいきません。 このような場合、どのように設定を変更すればいいのでしょうか? どなたか、宜しくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
すいません、virtualアカウントから直接スクリプトに渡す方法はわかりません。 手段として。 virtualユーザを作成すると、mysqlのpostfixというDBの中のmailboxとaliasという2つのテーブルに追加されます。 まずaliasが受け取ってからmailboxに渡されます。 なので、普通にvirtualアカウントを作成した後で、aliasテーブルのレコードを手動でいじってlocal配信に指定したユーザにも転送するようにgotoに追加し、aliasesファイルからスクリプトに渡すというくらいしか思い浮かびません。 ちなみにaliasテーブルで、「test@hogehoge.com, |/tmp/test.pl」などと書いてみましたところ、|/tmp/test.pl@hogehoge.com に転送しようとしていました ^^); お役に立てず申し訳ありません...
その他の回答 (2)
- Lean
- ベストアンサー率72% (435/603)
Postfixのぺーじ Postfix Q and A Q 4.12. virtual_mailbox_domains の アドレス宛のメールをパイプでコマンドに渡したい。 http://www.kobitosan.net/postfix/origdocs/QandA.html#4.12
- lowrider_2005
- ベストアンサー率40% (1520/3748)
たぶんpostfixがaliasesファイルよりvirtual配信を優先しているのではないでしょうか。 main.cfで、 transport_maps = hash:/etc/postfix/transport_maps などと指定しておき、transport_maps ファイルに test@ドメイン名 local と記載の上、 postmap transport_maps とすれば、virtual配信しない(MySQLのテーブルを見に行かない)ようになると思います。
お礼
ありがとうございます。 教えてもらった設定にした場合、virtual配信しないという事ですよね?現在、バーチャルアカウントを作成するようにしているので、それは利用したいと考えています。 バーチャル配信とエイリアスの両方を利用することは出来ないのでしょうか?なんとなく出来ないような気が・・・。 したい事として、バーチャルで配信したメールをtest.cgiに送り処理をさせたいと考えています。こういう場合、もしかしたらエイリアスを使わずに他の方法があるのでしょうか?
お礼
ありがとうございました。 色々調べているのですが、virtualから直接スクリプトに渡すという事が出来ないみたいです・・・。 ということは、virtualで一度実際に存在するアカウントに転送してからaliasにてスクリプトに渡すという方法くらいしかないのかもしれません・・・。 色々と丁寧にありがとうございました。