SMTP

2016-08-05 3 views
0

없이 PL/SQL을 사용하여 메일을 보낼 다른 SMTP를 사용하여 제외 오라클에서 이메일을 보낼 수있는 방법이 있나요 :SMTP

이 친절하게 몇 가지 예를 가능하다면 어떤 방법이 있는지 알려는.

+0

당신이 UTL_SMTP 패키지를 피하는 의미합니까; SMTP 프로토콜 또는 SMTP 서버를 사용하지 않습니까? –

+0

안녕하세요 Alex .. SMTP 서버를 사용하지 않습니다 –

+1

다른 방법은 Mailgun과 같은 REST 스타일 API를 제공하는 메일 게이트웨이를 사용하는 것입니다. 나는 당신이 관심을 가질지도 모르는 Mailgun을위한 PL/SQL API를 작업 해왔다 : https://github.com/jeffreykemp/mailgun-plsql-api –

답변

1

Starting from Oracle 8i release 8.1.6, one can send E-mail messages directly from PL/SQL using either the UTL_TCP or UTL_SMTP packages.

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' - 
      ); 
+0

고맙습니다 !! 도움을 받으려면 작동 환경에서 모든 설정을 활성화해야 SMTP를 사용할 수 없거나 테스트 환경에 설치되어 있지 않습니다. 친절하게도 –

+0

포트 25의 상태를 확인해야합니다. https://www.siteground.com/kb/smtp_port_25_blocked/ – are