Gibt es eine andere Art und Weise E-Mail von Oracle zu senden SMTP außer der Verwendung von:Mail sendet mit PL/SQL ohne SMTP
Bitte lassen Sie mich wissen, wenn es irgendeine Art und Weise mit einem gewissen Beispiel ist, wenn möglich.
Gibt es eine andere Art und Weise E-Mail von Oracle zu senden SMTP außer der Verwendung von:Mail sendet mit PL/SQL ohne SMTP
Bitte lassen Sie mich wissen, wenn es irgendeine Art und Weise mit einem gewissen Beispiel ist, wenn möglich.
senden Mail mit UTL_TCP
CREATE OR REPLACE PROCEDURE SEND_MAIL (
msg_from varchar2 := 'oracle',
msg_to varchar2,
msg_subject varchar2 := 'E-Mail message from your database',
msg_text varchar2 := )
IS
c utl_tcp.connection;
rc integer;
BEGIN
c := utl_tcp.open_connection('127.0.0.1', 25); -- open the SMTP port 25 on local machine
dbms_output.put_line(utl_tcp.get_line(c, TRUE));
rc := utl_tcp.write_line(c, 'HELO localhost');
dbms_output.put_line(utl_tcp.get_line(c, TRUE));
rc := utl_tcp.write_line(c, 'MAIL FROM: '||msg_from);
dbms_output.put_line(utl_tcp.get_line(c, TRUE));
rc := utl_tcp.write_line(c, 'RCPT TO: '||msg_to);
dbms_output.put_line(utl_tcp.get_line(c, TRUE));
rc := utl_tcp.write_line(c, 'DATA'); -- Start message body
dbms_output.put_line(utl_tcp.get_line(c, TRUE));
rc := utl_tcp.write_line(c, 'Subject: '||msg_subject);
rc := utl_tcp.write_line(c,);
rc := utl_tcp.write_line(c, msg_text);
rc := utl_tcp.write_line(c, '.'); -- End of message body
dbms_output.put_line(utl_tcp.get_line(c, TRUE));
rc := utl_tcp.write_line(c, 'QUIT');
dbms_output.put_line(utl_tcp.get_line(c, TRUE));
utl_tcp.close_connection(c); -- Close the connection
END;
/
-- Test it:
set serveroutput on
exec send_mail(msg_to =>'[email protected]');
exec send_mail(msg_to =>'[email protected]', -
msg_text=>'Look Ma, I can send mail from plsql' -
);
Danke !! für Ihre Hilfe, aber müssen wir jede Einrichtung in der Umgebung zu ermöglichen, damit es funktioniert, Coz das SMTP ist deaktiviert oder nicht in unserer Testumgebung installiert. Bitte helfen Sie –
Sie überprüfen den Status von Port 25 https://www.siteground.com/kb/smtp_port_25_blocked/ – are
Haben Sie die UTL_SMTP Paket bedeuten vermeiden; oder nicht mit dem SMTP-Protokoll oder einem SMTP-Server? –
Hey Alex .. nicht mit SMTP-Server –
Eine Alternative ist die Verwendung einer Mail-Gateway, die eine REST-style-API wie Mailgun bietet. Ich habe an einer PL/SQL-API für Mailgun gearbeitet, die dich interessieren könnte: https://github.com/jeffreykemp/mailgun-plsql-api –