考えられる解決策は、汎用データベースプラグインでソフトウェアを使用することです。Webアプリケーションはメールサーバーと対話せず、代わりにmysqlデータベースのusersテーブルを埋めるだけです。最も単純なケースでは、このテーブルにはユーザー名フィールドとパスワードフィールドがあります。ほとんどの実際の設定では、「ユーザーが無効になっている」、「ユーザーはIMAPに接続できる」、「ユーザーのホームディレクトリ/メールディレクトリの場所」など、いくつかの追加フィールドが必要です。ユーザーが新しいドメインを作成できる場合は、そのためのテーブルも必要です。
次に、データベースバックエンドを備えたメールサーバーソフトウェアが必要です。
メールボックスをホストするには、dovecot IMAP/POP3サーバーを使用できます。これは、ユーザークォータ、メールボックスの自動作成などのすべての凝ったものをサポートします。ここでは、データベースバックエンドを使用してdovecotを構成する方法に関するドキュメントを見つけることができます:
http ://wiki2.dovecot.org/AuthDatabase/SQL
stmpで実際にメールを受信するには、MTAソフトウェアも必要です。ここでは、 postfixが適切な選択です。ユーザーが新しいドメインを作成できる場合は、メールを受け入れる可能性のあるドメインをpostfixに指示するmysql構成を追加する必要があります。私はあなたのドメイン要件を正確に知らないので、ハウツーをホストしている一般的なpostfix仮想ドメインを紹介します:
http ://www.postfix.org/VIRTUAL_README.html
最後に、ユーザーがメールも送信できるようにする必要がある場合は、postfixでSASLを構成する必要があります。すでにdovecotを構成している場合、これは非常に簡単です。つまり、postfixに「ねえ、私はすでにdovecotでユーザー認証を構成しています。もう一度やりたくないので、dovecotに話しかけて仕事をさせてください」と言います。ドキュメントはここにあります:http ://www.postfix.org/SASL_README.html#server_dovecot