KAKIMASSE

ネットで見つけた面白い記事や、役立つのではと感じたネタなどを書いています。

qmail:バーチャルホスト(バーチャルドメイン)を使うには?

      2011/01/16

qmailを使ってバーチャルホストを追加しつつ、
取得したメールをPHPで利用したい、と思って調べたメモ。
以下の2つのサイトがかなり分かりやすく理解できました。
参考サイト
http://www.atmarkit.co.jp/flinux/rensai/qmail06/qmail06b.html
http://network.station.ez-net.jp/trouble/mail/account.asp
例 )
追加したいバーチャルドメイン:example.com
使いたいメールアドレス:sample@example.com など
-------------------------------------------
ここからサーバで作業 (root)
バーチャルドメイン追加

# vi /var/qmail/control/rcpthosts
以下追記
example.com
.example.com
「.example.com」はワイルドカードを利用する場合。
(参考サイトをよく参照)

バーチャルドメイン管理ユーザ追加

# vi /var/qmail/control/virtualdomains
以下追記
example.com:v-user
.example.com:v-user
これで@example.com 宛のメールはユーザv-userへ配送される。

qmail-sendプロセスリスタート
プロセスIDを調べます。

# ps aux | grep qmail-send
qmails 14914 0.0 0.0 2552 444 pts/1 S 10:31 0:00 qmail-send
root 15495 0.0 0.0 4936 764 pts/1 S+ 15:14 0:00 grep qmail-send
# kill -HUP 14914

このプロセスリスタートをしないとメールは配送されず、サーバのmaillogにも
qmail: 1232498254.988347 delivery 1: failure: Sorry._Although_I'm_listed_as_a_best-preference_MX_or_A_for_that_host,/it_isn't_in_my_control/locals_file,_so_I_don't_treat_it_as_local._(#5.4.6)/
といったエラーが表示されました。
バーチャルドメイン管理ユーザ作成

# useradd v-user

以後ユーザで作業

# su v-user

バーチャルドメイン管理者宛メールをサーバのrootへ転送

$ echo '&root' > /home/v-user/.qmail-root
$ echo '&root' > /home/v-user/.qmail-postmaster
$ echo '&root' > /home/v-user/.qmail-mailer-daemon

sample@example.com へメールを送った場合に
/home/v-user/public_html/sample.phpを実行させる。

$ echo '|php /home/v-user/public_html/sample.php' > .qmail-sample

sample-******@example.com へメールを送った場合に
/home/v-user/public_html/sample.phpを実行させる。(拡張アドレス対応)

$ echo '|php /home/v-user/public_html/sample.php' > .qmail-sample-default

特に最後の拡張アドレスは強力です。
sample-******@example.com の ******部分に英数、ハイフン、アンダーバー、ドット(他のものは試してません ><)
等をガーっと入れてみましたが全部指定してあるPHPファイル
/home/v-user/public_html/sample.php に渡されました。
メールアドレスに使える文字なら何が入っててもいけるんでしょうか?(未確認)
これで複数のドメインをqmailで運用する事も簡単かなーと思ってきました。

 - qmail

SPONSORD LINKS

スポンサーリンク

スポンサーリンク

Message

メールアドレスが公開されることはありません。

  関連記事

関連記事はありませんでした