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
@ObjectClassDefinitionerstellt wurde. - Konfigurationsdatei unter
/apps/csuf-cloud/osgiconfig/confighinzugefü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_emailauf 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
-
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
apikeyals 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>"
-
-
Überprüfen Sie die OSGi-Konfigurationsbereitstellung
- Vergewissern Sie sich, dass die OSGi-Konfigurationsdatei ordnungsgemäß in
/apps/<project>/osgiconfig/configbereitgestellt und von AEM abgerufen wird. - Überprüfen Sie, ob die Konfigurationswerte (API-Schlüssel, Absender-E-Mail) korrekt und nicht leer sind.
- Vergewissern Sie sich, dass die OSGi-Konfigurationsdatei ordnungsgemäß in
-
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.
- Stellen Sie sicher, dass das Cloud Manager-Geheimnis (
-
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.