E-Mails von Oracle APEX senden
Mit dem Package APEX_MAIL können Sie E-Mails von Oracle APEX-Anwendungen senden, die in der autonomen KI-Datenbank bereitgestellt sind.
Bevor Sie APEX_MAIL verwenden, müssen Sie einen SMTP-Server konfigurieren, der E-Mails von Oracle APEX zustellt. Oracle APEX on Autonomous AI Database unterstützt den Oracle Cloud Infrastructure Email Delivery-Service sowie E-Mail-Provider von Drittanbietern.
OCI Email Delivery konfigurieren
Ihre Oracle APEX-Instanz kann den OCI Email Delivery-Service verwenden, um E-Mails aus APEX-Anwendungen zu senden.
So konfigurieren Sie die APEX_MAIL-Funktionalität für die Verwendung des OCI Email Delivery-Service:
-
Ermitteln Sie den SMTP-Verbindungsendpunkt für Email Delivery. In Schritt 4 konfigurieren Sie den Endpunkt als SMTP-Host in Ihrer APEX-Instanz. Sie müssen möglicherweise zusätzliche Oracle Cloud Infrastructure-Regionen abonnieren, wenn Email Delivery in Ihrer aktuellen Region nicht zur Verfügung steht. Weitere Informationen finden Sie unter SMTP-Verbindung konfigurieren.
-
Generieren Sie SMTP-Zugangsdaten für Email Delivery. Die APEX-Instanz verwendet Zugangsdaten zur Authentifizierung bei Email Delivery-Servern, wenn Sie E-Mails senden. Weitere Informationen finden Sie unter SMTP-Zugangsdaten erstellen.
-
Erstellen Sie einen genehmigten Absender für Email Delivery. Sie müssen diesen Schritt für alle E-Mail-Adressen ausführen, die Sie als "Von" mit
APEX_MAIL.SEND-Aufrufen, als E-Mail-Absenderadresse der Anwendungen in Ihren Apps oder im InstanzparameterSMTP_FROMverwenden. Weitere Informationen finden Sie unter Genehmigte Absender verwalten. -
Melden Sie sich mit einem SQL-Client als ADMIN-Benutzer bei der Autonomous AI Database an, und konfigurieren Sie die folgenden SMTP-Parameter mit
APEX_INSTANCE_ADMIN.SET_PARAMETER:-
SMTP_HOST_ADDRESS: Gibt den SMTP-Verbindungsendpunkt aus Schritt 1 an -
SMTP_USERNAME: Gibt den Benutzernamen der SMTP-Zugangsdaten aus Schritt 2 an -
SMTP_PASSWORD: Gibt das Kennwort der SMTP-Zugangsdaten aus Schritt 2 an -
SMTP_HOST_PORT: Behalten Sie den Standardwert für diesen Parameter bei (587) -
SMTP_TLS_MODE: Standardwert für diesen Parameter beibehalten (STARTTLS)
Beispiel:
BEGIN APEX_INSTANCE_ADMIN.SET_PARAMETER('SMTP_HOST_ADDRESS', 'smtp.email.us-phoenix-1.oci.oraclecloud.com'); APEX_INSTANCE_ADMIN.SET_PARAMETER('SMTP_USERNAME', 'ocid1.user.oc1.username'); APEX_INSTANCE_ADMIN.SET_PARAMETER('SMTP_PASSWORD', 'password'); COMMIT; END; /Weitere Informationen finden Sie unter APEX_INSTANCE_ADMIN.
-
Weitere Informationen finden Sie unter Überblick über Email Delivery.
E-Mail-Provider von Drittanbietern konfigurieren
Ihre Oracle APEX-Instanz kann E-Mail-Provider von Drittanbietern verwenden, um E-Mails aus APEX-Anwendungen zu senden.
Bevor Sie einen Drittanbieter-E-Mail-Provider in APEX konfigurieren, stellen Sie sicher, dass die folgenden Voraussetzungen erfüllt sind:
-
Ihre autonome KI-Datenbank muss so konfiguriert sein, dass sie einen privaten Endpunkt verwendet.
-
Der SMTP-Endpunkt des E-Mail-Providers (Port 25 oder 587) muss über das virtuelle Cloud-Netzwerk (VCN) und das Subnetz, in dem Ihre autonome KI-Datenbank bereitgestellt wird, zugänglich sein.
Weitere Informationen finden Sie unter Netzwerkzugriff mit privaten Endpunkten einrichten.
Nachdem die Voraussetzungen erfüllt sind:
-
Fügen Sie die folgende Access Control-Liste für den SMTP-Endpunkt als ADMIN hinzu (beachten Sie den Parameter
private_target):BEGIN DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE( host => 'smtp.example.com', ace => XS$ACE_TYPE( privilege_list => XS$NAME_LIST('SMTP'), principal_name => APEX_APPLICATION.g_flow_schema_owner, principal_type => XS_ACL.ptype_db), private_target => true); END; /Hinweis
Hinweis: Wenn Sie die DatenbankeigenschaftROUTE_OUTBOUND_CONNECTIONSfestlegen, müssen Sie keine Access-Control-Listen für einzelne SMTP-Endpunkte definieren, um von APEX aus darauf zuzugreifen. Weitere Informationen finden Sie unter Erweiterte Sicherheit für ausgehende Verbindungen mit privaten Endpunkten. -
Melden Sie sich mit einem SQL-Client als ADMIN-Benutzer bei Ihrer autonomen AI-Datenbank an, und konfigurieren Sie die folgenden SMTP-Parameter mit
APEX_INSTANCE_ADMIN.SET_PARAMETER. Wenn Ihr Drittanbieter keine Authentifizierung benötigt, überspringen Sie die ParameterSMTP_USERNAMEundSMTP_PASSWORD.-
SMTP_HOST_ADDRESS: Gibt den SMTP-Verbindungsendpunkt aus Schritt 1 an -
Gültige Werte für Parameter
SMTP_HOST_PORTsind 25 oder 587 -
Setzen Sie den Wert für den Parameter
SMTP_TLS_MODEaufY.
Beispiel:
BEGIN APEX_INSTANCE_ADMIN.SET_PARAMETER('SMTP_HOST_ADDRESS', 'smtp.example.com'); APEX_INSTANCE_ADMIN.SET_PARAMETER('SMTP_HOST_PORT', '587'); APEX_INSTANCE_ADMIN.SET_PARAMETER('SMTP_TLS_MODE', 'Y'); APEX_INSTANCE_ADMIN.SET_PARAMETER('SMTP_USERNAME', 'username'); APEX_INSTANCE_ADMIN.SET_PARAMETER('SMTP_PASSWORD', 'password'); COMMIT; END; /Weitere Informationen finden Sie unter APEX_INSTANCE_ADMIN.
-
E-Mail-Konfiguration validieren
Zeigt die Schritte an, um zu bestätigen, dass Ihr E-Mail-Provider mit APEX_MAIL verwendet werden kann.
-
Validieren Sie die E-Mail-Konfigurationseinstellungen mit einem SQL-Client als ADMIN:
BEGIN APEX_INSTANCE_ADMIN.VALIDATE_EMAIL_CONFIG; END; /Wenn Fehler gemeldet werden (z.B.
"ORA-29279: SMTP permanent error: 535 Authentication credentials invalid"), passen Sie die SMTP-Parameter oder die Konfiguration des virtuellen Cloud-Netzwerks (VCN) an, und wiederholen Sie den Validierungsschritt.Weitere Informationen finden Sie unter APEX_INSTANCE_ADMIN.
-
Senden Sie eine Test-E-Mail mit APEX SQL Workshop. Wenn Sie OCI Email Delivery verwenden, stellen Sie sicher, dass der Parameter
p_frommit einem der genehmigten Absender übereinstimmt. Beispiel:BEGIN APEX_MAIL.SEND( p_from => 'alice@example.com', p_to => 'bob@example.com', p_subj => 'Email from Oracle Autonomous AI Database', p_body => 'Sent using APEX_MAIL'); END; /Weitere Informationen finden Sie unter APEX_MAIL.
-
So überwachen Sie die E-Mail-Zustellung in Ihrer APEX-Instanz:
-
Melden Sie sich bei APEX Administration Services an.
-
Öffnen Sie die Seite "Instanz verwalten".
-
Klicken Sie im Abschnitt "Metadaten verwalten" auf den Link "E-Mail-Queue".
Alternativ dazu können Sie die Ansichten
APEX_MAIL_QUEUEundAPEX_MAIL_LOGmit einem SQL-Client abfragen. -
Hinweise zum Senden von E-Mails von Oracle APEX
Bietet Hinweise für die Arbeit mit E-Mail-Providern in Oracle APEX von einer autonomen KI-Datenbankinstanz.
Beachten Sie Folgendes, wenn Sie mit E-Mail-Providern in Oracle APEX arbeiten:
-
Es gibt ein Standardlimit von 1.000 E-Mails pro Arbeitsbereich in einem Zeitraum von 24 Stunden. Sie können dieses Limit in Oracle APEX Administration Services oder durch Festlegen des Instanzparameters
WORKSPACE_EMAIL_MAXIMUMaktualisieren oder entfernen. Wenn Sie den OCI Email Delivery-Service verwenden, kann der Service zusätzliche Einschränkungen auferlegen. -
Wenn Sie den OCI Email Delivery-Service verwenden, muss ein genehmigter Absender für alle möglichen Absenderadressen eingerichtet werden. Andernfalls wird die E-Mail abgelehnt. Weitere Informationen finden Sie unter Genehmigte Absender verwalten.