AEM as a Cloud Service: Problem mit dem E-Mail-Versand der SendGrid-API bei Verwendung eines benutzerdefinierten OSGi-Dienstes

In diesem Artikel finden Sie Schritte zum Beheben von Problemen mit dem Senden von E-Mails über die SendGrid-API von einem benutzerdefinierten OSGi-Service in Adobe Experience Manager as a Cloud Service.

Beschreibung description

Umgebung

Adobe Experience Manager (AEM) as a Cloud Service (alle Versionen)
Problem/Symptome

Beim Versuch, E-Mails mit einem benutzerdefinierten OSGi-Service zu senden, der in die SendGrid-REST-API (https://api.sendgrid.com/v3/mail/send) integriert ist, werden keine Nachrichten gesendet. Das Problem tritt nach der Bereitstellung von Code über Cloud Manager und dem Ausführen eines Workflow-Prozesses auf, der den SendGrid-E-Mail-Service aufruft.

  • Benutzerdefinierte OSGi-Konfigurationsschnittstelle, die mit @ObjectClassDefinition erstellt wurde.
  • Konfigurationsdatei unter /apps/csuf-cloud/osgiconfig/config hinzugefügt (Beispiel: com.csuf.cloud.core.config.SendGridConfiguration.cfg.json).
  • API-Schlüssel, der mit einem Cloud Manager-Geheimnis konfiguriert wurde (SENDGRID_API_KEY).
  • from_email auf eine gültige Absenderadresse festgelegt.
  • Benutzerdefinierte Workflow-Prozess-Trigger für den SendGrid-E-Mail-Service.
  • Es wurde keine explizite Fehlermeldung bereitgestellt, aber E-Mails werden nicht wie erwartet zugestellt.

Lösung resolution

  1. Verwendung des SendGrid-API-Schlüssels überprüfen

    • Stellen Sie sicher, dass der Wert für den API-Schlüssel in Ihrer OSGi-Konfiguration auf das Cloud Manager-Geheimnis eingestellt ist, das den SendGrid-API-Schlüssel enthält.

    • Verwenden Sie bei der Authentifizierung mit der SendGrid-API immer die literale Zeichenfolge apikey als Benutzernamen, unabhängig vom tatsächlichen API-Schlüsselwert, der in SendGrid erstellt wurde.

    • Beispielkonfiguration:

      code language-none
      "smtp.user": "apikey",
      "api_key": "<Cloud Manager secret reference>"
      
  2. Überprüfen Sie die OSGi-Konfigurationsbereitstellung

    • Vergewissern Sie sich, dass die OSGi-Konfigurationsdatei ordnungsgemäß in /apps/<project>/osgiconfig/config bereitgestellt und von AEM abgerufen wird.
    • Überprüfen Sie, ob die Konfigurationswerte (API-Schlüssel, Absender-E-Mail) korrekt und nicht leer sind.
  3. Validieren der Cloud Manager-Geheimnisreferenz

    • Stellen Sie sicher, dass das Cloud Manager-Geheimnis (SENDGRID_API_KEY) in Ihrer Konfiguration ordnungsgemäß referenziert wird und zur Laufzeit verfügbar ist.
  4. E-Mail-Versand testen

    • Trigger des Workflow-Prozesses aus der AEM-Autorenumgebung und Überwachung auf einen erfolgreichen E-Mail-Versand.
    • Überprüfen Sie die AEM- und SendGrid-Protokolle auf Fehler oder abgelehnte Anfragen.

Ursache

Für die SendGrid-API muss der Benutzername unabhängig vom tatsächlichen API-Schlüsselwert als apikey für die Authentifizierung festgelegt sein. Eine falsche Konfiguration des Benutzernamens oder API-Schlüssels kann einen erfolgreichen E-Mail-Versand verhindern.

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