Java Webアプリの場合、サーバー部分はサーブレットです。クライアントフォームから送信された電子メールメッセージを考えると、サーバーはそのテキストを電子メールとして送信する必要があります。
これを行うためのコードがJavaEEスタックにあります。または、JavaMailを具体的にダウンロードすることもできます。これにより、プログラムがメールクライアントとして機能できるようになります。
MTAはサーブレットからメッセージを受信し、それらをユーザーに送信します。ここまでは順調ですね。
ただし、ポストボックス、つまりユーザーのメール受信ボックスに相当するものも必要です。Postfix、QMailなどは基本的な「フラット」メールボックスモデルを提供します。このモデルでは、クライアントがメールを受け取るまでメールが保存され、その後(通常は)削除されます。アクセスはPOP3経由です。IMAPは、より多くの組織機能を提供します。つまり、ネストされたメールボックスの階層を指定したり、メールボックス間でメールを転送したりする機能などです。おそらく、そのような複雑さのすべてに対してGUIフロントエンドを作成したくないので、IMAPサーバーは実際には必要ないと思います。ただし、サーブレットがTCP / IPを介してメールボックスにアクセスできるようにするには、比較的単純なPOP3サーバーが必要です。これは通常、「標準」の電子メールサーバーパッケージの一部です。
独自のドメインを世界に知らしめるには、DNSサービスのMXレコードにアクセスする必要があります。つまり、インターネットに接続されたアドレスに、郵便局となる1つまたは2つのホストを設定する必要があります。
最後に、多くのトラブルを回避したい場合は、MTA(SMTPサーバー)をオープンリレーとして使用される可能性がないように構成する際は十分に注意してください。つまり、ユーザーが一般に外の世界にメールを送信することはできません(または、ハッカーがWebインターフェイスを悪用してこれを行う方法を見つけるでしょう)。また、インターネットからのメールがユーザーに届かないようにする必要があります。最も重要なことは、インターネットからのメールをインターネットの他の場所に転送する方法があってはならないということです。ネット上でオープンリレーテストサービス(無料)を見つけて、完了したと思ったら構成でテストを実行できるようにします。
編集:
Thorbjornの答えを見て、おそらくユーザーがアプリを介してメールを受信することを望まないことに気づきました。彼らはおそらくすでに彼ら自身の電子メールプロバイダーとアカウントを持っています。その場合、受信トレイ機能やPOP3サーバーについて心配する必要はありません。ドメインで完全な電子メールサービスを提供することを検討することもできますが、それは非常にありがたい仕事です。選択肢があれば、その汚い仕事をGMail、Yahoo、Hotmailなどに任せてください。どんなサービスを提供しても、顧客を十分に満足させることはできず、毎日スパムやその他の犯罪と戦うことになります。