LinuxMagic.org

オープンソースのサポートサイトを目指します。

仮想ホストの作り方(sendmail + Dovecot 編)

結構、Postfix + Dovecotで仮想ホストを作るのは簡単なためか、あまり問題になりませんが、sendmailでの仮想メールホストを
作るのは比較的敷居が高い気がします。

日本国内のサイトで検索しましたが、いまいちというか、不完全な解説(受信しか、考えていないだろう!!)が多いと思いました。
受信はきちんと該当ドメインに届くのですが、送信すると気づくはずです。いつのまにかデフォルトのドメインのFromアドレスに
書き変わっていることに!!

そして、さらにドメインは違うけど@の左辺が同じIDの場合、送信は問題ないけど、pop/imapで
メールを取り出す際に、問題がでてきてしまう。要するにsendmailは基本はドメインなしのspoolingだから同じIDだとDovecot君が
わからなくなっちゃうわけだ。

だってsendmailはアカウント名のフォルダ、もしくはファイルで保存されるわけだから同一IDをわける
管理がない。本当はsendmail君がvirtualtableに書いたメルアド体系でフォルダが生成されてれば、すごく簡単だったのに。。。。

ということで、ちょっと攻略してみようかな。

smtpは内部&外部からの受信と内部&外部への送信を担います。そしてspoolされてアカウント毎のファイルに格納されます。
しかし、OutLookやthunderbird等のメールソフトでpop/imapしてメールをspoolから取り出すためには、一般的にはprocmailやシェル、pop/imapサーバ自身が行うという仕組みになります。

Dovecotはspoolからメールを取り出してくれるタイプのサーバですから、仮想サーバのメール格納体系にあった設定をしてあげないと取り出したり、格納したりすることができません。

sendmailのお決まりのメールボックスは/var/mail or /var/spool/mailの配下ですが、仮想ドメインを作るということは、ユーザ情報にドメインが付加された形で何らかのひも付けがされていないといけない。

最初にsendmailから編集を始めてみましょう。

sendmail.mcを仮想ホスト用に作成。
既存で動作しているsendmail.mcの数カ所をいじります。ポイントだけ説明。

$ cd /etc/mail
$ vi sendmail.mc


——————————————主要設定箇所だけの抜粋です—————————————-

FEATURE(`mailertable’, `hash o /etc/mail/mailertable.db’)dnl <—これは説明不要だね。
FEATURE(`virtusertable’, `hash o /etc/mail/virtusertable.db’)dnl <—これは説明不要だね。
dnl MASQUERADE_AS(`$m’)dnl <——-これコメントアウトにする。該当ドメインでfromで正しく出ます。
VIRTUSER_DOMAIN_FILE(`-o /etc/mail/virtuser-domains’)dnl <—-これは説明不要だね。

☆MASQUERADE_AS(`$m’)dnlの箇所をコメントにするときちんと該当ドメインでfromで正しく出ます。

$ make
$ make stop
$ make start

以上で仮想ドメイン用のsendmailが生成され起動します。

まだまだ続きがありますが、今後に期待してください。

マイページ

以前書いていたブログはまた、そのまま復帰します。たまには読んでください。

Linuxと関係ないかもよ日記

ソーシャルブックマークを始めました。といっても個人の備忘録ならぬ役に立ったサイトの登録です!

ソーシャルブックマーク

お役立ちLinux Links

Archives

RSSフィード配信

Articles RSS Feed

Tech Tips

最新ブックマーク