私は、ユーザーがアクションを実行したときに電子メールを生成するasp.net Webアプリを持っています...これらの電子メールは通常、他のユーザーへの通知であり、何かを表示または実行する必要があります。ユーザーは会社の内部でも外部(下請け業者)でもかまいません。
これらの電子メールはデータベースに保存され、電子メールサービスによって取得されます。データベースと電子メールサービスは、多くの場合、Webアプリとは別のサーバー上にあります。
これまでのメールサービスでは、一般的なアカウントからメールを送信するか、送信者をユーザーのメールに設定して、直接送信されたように見せていました。
私が抱えている問題は、新しい顧客の設定のいくつかは、どこかから送信されたと主張され、実際にはどこかから送信された電子メールを許可しないということです。私が見ている解決策は、ユーザーにsmtp設定を入力してもらい、サービスがこれらの設定を使用して実際にそのユーザーからメールを送信することです。 ...しかし、サービスがそれらを取得できるように、パスワードを含むsmtp設定を安全に保存できる必要があります。
誰かが設定を安全に保存する方法を提案できますか、それが不可能な場合は、他にどのようにこの問題に取り組むことができますか?
前もって感謝します。
しないでください。リスクを取らないでください。
たとえば、JiraはFrom: <user name> [email protected]
およびreply to: [email protected]
次に、ユーザーはfrom
に適切な人物の名前を表示し、正しいメールに返信します。メッセージはドメインから送信されます(Jiraをドメインに置き換えます)。次に、ドメインで、DKIM、DMARC、および適切なSPFを使用していることを確認します(Amazon SESおよびSendgridは、適切に構成されたSMTP配信を外部委託するための優れたオプションです)。
これで、ドメインの評判が良いため、受信メールサーバーがドメインからのメールを信頼することを決定できます。そして、ユーザーはそれが彼らの友人から来ているように見えるメールを受け取ります。
資格情報を保存する必要がある場合(この場合は必要ないと思います)、次のことを行う必要があります。
Hashicorp VaultやHSM(ハードウェア暗号化モジュール)などのマイクロサービスを使用すると、暗号化サービスを除いて、キーとデータを別々に保つことができます。