AEM as a Cloud Service:カスタム OSGi サービスを使用する際のSendGrid API メール配信の問題

この記事では、Adobe Experience Manager as a Cloud Serviceのカスタム OSGi サービスからSendGrid APIを介してメールを送信する際の問題を解決する手順について説明します。

説明 description

環境

Adobe Experience Manager(AEM)as a Cloud Service(すべてのバージョン)
問題/症状

SendGrid REST API (https://api.sendgrid.com/v3/mail/send)と統合されたカスタム OSGi サービスを使用してメールを送信しようとすると、メッセージの配信に失敗します。 この問題は、Cloud Managerを介してコードをデプロイし、SendGrid メールサービスを呼び出すワークフロープロセスを実行した後に発生します。

  • @ObjectClassDefinitionを使用して作成されたカスタム OSGi設定インターフェイス。
  • 設定ファイルが/apps/csuf-cloud/osgiconfig/configに追加されました(例:com.csuf.cloud.core.config.SendGridConfiguration.cfg.json)。
  • CLOUD MANAGER シークレット (SENDGRID_API_KEY)を使用して設定されたAPI キー。
  • from_emailは有効な送信者アドレスに設定されています。
  • カスタムワークフロープロセスは、SendGrid メールサービスをトリガーします。
  • 明示的なエラーメッセージは提供されませんが、メールは期待どおりに配信されません。

解決策 resolution

  1. SendGrid API キーの使用状況を確認

    • OSGi設定のAPI キーの値が、SendGrid API キーを含むCloud Manager シークレットに設定されていることを確認します。

    • SendGrid APIで認証を行う場合は、SendGridで作成された実際のAPI キー値に関係なく、リテラル文字列apikeyをユーザー名として常に使用してください。

    • 設定の例:

      code language-none
      "smtp.user": "apikey",
      "api_key": "<Cloud Manager secret reference>"
      
  2. OSGi設定のデプロイメントを確認

    • OSGi設定ファイルが/apps/<project>/osgiconfig/configに正しくデプロイされ、AEMでピックアップされていることを確認します。
    • 設定値(API キー、送信者の電子メール)が正しく、空でないことを確認します。
  3. Cloud Manager秘密参照の検証

    • Cloud Manager シークレット (SENDGRID_API_KEY)が設定で適切に参照され、実行時に使用可能であることを確認します。
  4. メール配信のテスト

    • AEM オーサー環境からワークフロープロセスをトリガーし、メール配信を成功させるかどうかを監視します。
    • AEMとSendGridのログで、エラーや拒否されたリクエストを確認します。

原因

SendGrid APIでは、実際のAPI キー値に関係なく、認証用にユーザー名をapikeyに設定する必要があります。 ユーザー名またはAPI キーの設定が正しくないと、メール配信が正常に行われない可能性があります。

recommendation-more-help
experience-cloud-kcs-help-kbarticles