없이 PL/SQL을 사용하여 메일을 보낼 다른 SMTP를 사용하여 제외 오라클에서 이메일을 보낼 수있는 방법이 있나요 :SMTP
이 친절하게 몇 가지 예를 가능하다면 어떤 방법이 있는지 알려는.
없이 PL/SQL을 사용하여 메일을 보낼 다른 SMTP를 사용하여 제외 오라클에서 이메일을 보낼 수있는 방법이 있나요 :SMTP
이 친절하게 몇 가지 예를 가능하다면 어떤 방법이 있는지 알려는.
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' -
);
고맙습니다 !! 도움을 받으려면 작동 환경에서 모든 설정을 활성화해야 SMTP를 사용할 수 없거나 테스트 환경에 설치되어 있지 않습니다. 친절하게도 –
포트 25의 상태를 확인해야합니다. https://www.siteground.com/kb/smtp_port_25_blocked/ – are
당신이 UTL_SMTP 패키지를 피하는 의미합니까; SMTP 프로토콜 또는 SMTP 서버를 사용하지 않습니까? –
안녕하세요 Alex .. SMTP 서버를 사용하지 않습니다 –
다른 방법은 Mailgun과 같은 REST 스타일 API를 제공하는 메일 게이트웨이를 사용하는 것입니다. 나는 당신이 관심을 가질지도 모르는 Mailgun을위한 PL/SQL API를 작업 해왔다 : https://github.com/jeffreykemp/mailgun-plsql-api –