データベース · 1 min read · Oct 07, 2025

Postfix、Courier、MySQLを使用した仮想ユーザーとドメイン (Debian Etch) - ページ 6

13 データベースをポピュレートしテストする

データベースをポピュレートするには、MySQLシェルを使用できます:

mysql -u root -p  
 USE mail;

少なくともdomainsusersテーブルにエントリを作成する必要があります:

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テーブルには、次のようなエントリが含まれる場合があります:

sourcedestination
[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テーブルには、次のようなエントリが含まれる場合があります:

domaintransport
example.com:example.comのメールをローカルに配信します。これは、このレコードがこのテーブルに存在しないかのようです。
example.comsmtp:mail.anotherdomain.tldexample.comのすべてのメールをsmtpを介してmail.anotherdomain.comサーバーに配信します。
example.comsmtp:mail.anotherdomain.tld:2025example.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 参考文献

15 リンク

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。