データベース · 1 min read · Oct 07, 2025
Postfix、Courier、MySQLを使用した仮想ユーザーとドメイン (Debian Etch) - ページ 6
13 データベースをポピュレートしテストする
データベースをポピュレートするには、MySQLシェルを使用できます:
mysql -u root -p
USE mail;少なくともdomainsとusersテーブルにエントリを作成する必要があります:
INSERT INTO `domains` (`domain`) VALUES ('example.com');
INSERT INTO `users` (`email`, `password`, `quota`) VALUES ('[email protected]', ENCRYPT('secret'), 10485760);(パスワードを暗号化するために、2番目のINSERT文でENCRYPT構文を使用することに注意してください!)
他の2つのテーブルにエントリを作成したい場合は、次のようになります:
INSERT INTO `forwardings` (`source`, `destination`) VALUES ('[email protected]', '[email protected]');
INSERT INTO `transport` (`domain`, `transport`) VALUES ('example.com', 'smtp:mail.example.com');MySQLシェルを終了するには、次のように入力します
quit;ほとんどの人にとって、MySQLのグラフィカルフロントエンドがある方が簡単です。したがって、mailデータベースを管理するためにphpMyAdmin(この例ではhttp://192.168.0.100/phpmyadmin/またはhttp://server1.example.com/phpmyadmin/)を使用することもできます。再度、ユーザーを作成する際には、パスワードを暗号化するためにENCRYPT関数を使用することを確認してください:

ドメインとユーザーテーブルについては、これ以上説明する必要はないと思います。
forwardingsテーブルには、次のようなエントリが含まれる場合があります:
| source | destination | |
| [email protected] | [email protected] | [email protected]へのメールを[email protected]にリダイレクトします |
| @example.com | [email protected] | [email protected]のためのキャッチオールアカウントを作成します。example.comへのすべてのメールは[email protected]に届きますが、usersテーブルに存在するものを除きます(つまり、[email protected]がusersテーブルに存在する場合、[email protected]へのメールは依然として[email protected]に届きます)。 |
| @example.com | @anotherdomain.tld | これは、example.comへのすべてのメールをanotherdomain.tldの同じユーザーにリダイレクトします。例えば、[email protected]へのメールは[email protected]に転送されます。 |
| [email protected] | [email protected], [email protected] | [email protected]へのメールを2つ以上のメールアドレスに転送します。宛先にリストされたすべてのメールアドレスは、メールのコピーを受け取ります。 |
transportテーブルには、次のようなエントリが含まれる場合があります:
| domain | transport | |
| example.com | : | example.comのメールをローカルに配信します。これは、このレコードがこのテーブルに存在しないかのようです。 |
| example.com | smtp:mail.anotherdomain.tld | example.comのすべてのメールをsmtpを介してmail.anotherdomain.comサーバーに配信します。 |
| example.com | smtp:mail.anotherdomain.tld:2025 | example.comのすべてのメールをsmtpを介してmail.anotherdomain.comサーバーに配信しますが、ポート2025で、smtpのデフォルトポートである25ではありません。 |
| example.com | smtp:[1.2.3.4]
smtp:[1.2.3.4]:2025
smtp:[mail.anotherdomain.tld] | 角括弧は、Postfixが角括弧内のアドレスのMX DNSレコードを検索するのを防ぎます。IPアドレスに対して意味があります。 | | .example.com | smtp:mail.anotherdomain.tld | example.comの任意のサブドメインのメールはmail.anotherdomain.tldに配信されます。 | | * | smtp:mail.anotherdomain.tld | すべてのメールはmail.anotherdomain.tldに配信されます。 | | [email protected] | smtp:mail.anotherdomain.tld | [email protected]へのメールはmail.anotherdomain.tldに配信されます。 |
詳細については、
man transportを参照してください。
transportテーブルのエントリの順序が重要であることを忘れないでください! エントリは上から下へと処理されます。
重要: Postfixはトランスポートのキャッシュメカニズムを使用しているため、トランスポートテーブルの変更が反映されるまでに時間がかかる場合があります。変更を直ちに反映させたい場合は、
postfix reloadを実行してください。
14 参考文献
- チュートリアル: Debian-SargeとPostfix 2.1を使用したISPスタイルのメールサービス: http://workaround.org/articles/ispmail-sarge/
- Postfix + Quota: http://vhcs.net/new/modules/newbb/viewtopic.php?topic_id=3496&forum=17
- saslauthdを使用して暗号化されたメールパスワード: http://www.syscp.de/docs/public/contrib/cryptedmailpws
15 リンク
- Postfix MTA: http://www.postfix.org/
- Postfix Quota Patch: http://web.onda.com.br/nadal/
- phpMyAdmin: http://www.phpmyadmin.net/
- Debian: http://www.debian.org/
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。