domingo, 15 de novembro de 2009

Trigger Para Enviar E-mail

CREATE OR REPLACE TRIGGER MANDA_EMAIL
AFTER INSERT
ON TABELA_TESTE
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
DECLARE
mensagem VARCHAR2(4000);
HOSTEMAIL VARCHAR2(80);
CONEXAO UTL_SMTP.CONNECTION;
RECIPIENTE VARCHAR2(80);
ENVIAR VARCHAR2(80);
crlf varchar2(2) := chr(13) || chr(10);

BEGIN
 BEGIN
  ENVIAR :=
'vendas@testeemail.com.br';  /*(email da conta que esta enviando)*/
  RECIPIENTE  :=
'cliente@testeemail.com.br'; /*(email do destinatario) */
  MESSAGEM := 'Date: '    || TO_CHAR( SYSDATE, 'dd Mon yy hh24:mi:ss' ) || crlf ||
              'From: '    ||
'vendas@testeemail.com.br'                   || crlf ||
     'To: '      ||
'cliente@testeemail.com.br' || crlf ||
     'Bcc: '     ||
'cliente2@testeemail.com.br' || ';' || crlf ||   /* (cópia do email) */
     'Subject: ' || 'Assunto do Email'|| crlf;
  messagem:=messagem || '' || crlf || 'Mensagem do Email'|| crlf ||'** Email gerado automáticamente. Nao responder este email!!!! **';
  HOSTEMAIL := '10.0.0.4';   /* (endereço IP do Servidor de Email Exchange) */
  CONEXAO :=  utl_smtp.open_connection (HOSTEMAIL,25);
  UTL_SMTP.HELO (CONEXAO,HOSTEMAIL);
  UTL_SMTP.MAIL (CONEXAO,ENVIAR);
  UTL_SMTP.RCPT (CONEXAO,RECIPIENTE);
  UTL_SMTP.RCPT (CONEXAO,'cliente@testeemail.com.br');
  UTL_SMTP.RCPT (CONEXAO,'cliente2@testeemail.com.br');
  UTL_SMTP.DATA (CONEXAO,MESSAGEM);
  UTL_SMTP.QUIT (CONEXAO);
 END;

END MANDA_EMAIL;

0 comentários:

Postar um comentário