Postfix設定 · 1 min read · Sep 28, 2025

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

12 テスト Postfix

PostfixがSMTP-AUTHとTLSの準備ができているか確認するには、次のコマンドを実行します。

telnet localhost 25

Postfixメールサーバーへの接続が確立されたら、次のコマンドを入力します。

ehlo localhost

次の行が表示される場合は、すべてが正常です。

250-STARTTLS

および

250-AUTH LOGIN PLAIN

すべてが正常です:

server1:~# telnet localhost 25  
Trying 127.0.0.1...  
Connected to localhost.  
Escape character is '^]'.  
220 server1.example.com ESMTP Postfix (Debian/GNU)  
ehlo localhost  
250-server1.example.com  
250-PIPELINING  
250-SIZE 10240000  
250-VRFY  
250-ETRN  
250-STARTTLS  
250-AUTH LOGIN PLAIN  
250-AUTH=LOGIN PLAIN  
250-ENHANCEDSTATUSCODES  
250-8BITMIME  
250 DSN  
quit  
221 2.0.0 Bye  
Connection closed by foreign host.  
server1:~#
quit

と入力して、システムシェルに戻ります。

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 Maildirを作成するためのウェルカムメールを送信

新しいメールアカウントを作成し、そのアカウントからメールを取得しようとすると(POP3/IMAPを使用)、Maildirが存在しないというエラーメッセージが表示される可能性があります。Maildirは、新しいアカウントに最初のメールが届いたときに自動的に作成されます。したがって、新しいアカウントにウェルカムメールを送信するのは良いアイデアです。

まず、mailxパッケージをインストールします:

apt-get install mailx

[email protected]にウェルカムメールを送信するには、次のようにします:

mailx [email protected]

件名を入力するように求められます。件名を入力し(例:Welcome)、ENTERを押し、次の行にメッセージを入力します。メッセージが完了したら、再度ENTERを押して新しい行に移動し、CTRL+Dを押します。メールをccしたくない場合は、再度ENTERを押します:

root@server1:/usr/local/sbin# mailx [email protected]
Subject: Welcome <– ENTER
Welcome! Have fun with your new mail account. <– ENTER
<– CTRL+D
Cc: <– ENTER
root@server1:/usr/local/sbin#

Share: X/Twitter LinkedIn

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

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