Páginas

sábado, 27 de setembro de 2014

Modelo simples para enviar email pelo Oracle com trigger

Boa noite pessoal

Abaixo modelo simples para enviar email por um TRIGGER
modelo para INSERT em cada nova linha manda um email

Para que enviar texto e seu varchar2 tiver linha pulando segue exemplo abaixo
 v_descricao := REPLACE(:NEW.DESCRICAO,chr(10),'<BR>');

com isso você consegue a sua variável pule linha aonde tenha que pular

CREATE OR REPLACE TRIGGER xxx_email_novo
 BEFORE
  INSERT
 ON hp_chamado
REFERENCING NEW AS NEW OLD AS OLD
 FOR EACH ROW
DECLARE 
    s_cabecalho         VARCHAR2(4300);
    s_corpo             VARCHAR2(4300);
    s_rodape            VARCHAR2(4200);
    v_descricao         VARCHAR2(4200);
    v_solicitante       VARCHAR2(30);
    email               VARCHAR2(200)   := 'helpdesk@email.com.br';
    site                VARCHAR(200)    :='http://www.site.com.br';
    DG                  VARCHAR(200)    :='jeffersonquintiliano@outlook..com.br';  
    
BEGIN
    v_descricao := REPLACE(:NEW.DESCRICAO,chr(10),'<BR>');
    
 -- Monta o cabeçalho do email.
                s_cabecalho := '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
                                  <html xmlns="http://www.w3.org/1999/xhtml">
                                   <head>
                                    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
                                   </head>
                                     <body>
                                      <img src="http://www.email.com.br/topo_email.jpg" complete="complete"/><br>';

                s_cabecalho := s_cabecalho ||'<center><font face="verdana" color="red"><h3>Novo ticket '||:NEW.ID||' !</h3></font></center>
                                                <center><font face="Trebuchet MS">Segue abaixo a informações do ticket</font><br><br>';
              

              s_corpo :='<table width="960" border="0" style="border-collapse: collapse"  bordercolor="#006600"> 
                                <tr>
                                  <td width="86"  bgcolor="#F2F2F2"><div align="center"><span><b><font face="Trebuchet MS">Ticket:</b><br>'||:NEW.ID||'</font></span></div></td>
                                  <td width="114" bgcolor="#F2F2F2"><div align="center"><span><b><font face="Trebuchet MS">Data: </b><br>'||:NEW.DATA_ABERTURA||'</font></span></div></td>
                                  <td width="457" colspan="2"  bgcolor="#F2F2F2"><span><b><font face="Trebuchet MS">Titulo:</b><br>'||:NEW.TITULO||'</font></span></td>
                              </tr>
                                <tr>
                                  <td colspan="4" class="Forms"  bgcolor="#F2F2F2"><p><b><font face="Trebuchet MS">Descrição:</b><br>'||v_descricao||'</font></p></td>
                              </tr>      
                            </table>';
    

              
                --Monta o Rodapé do Email.
                s_rodape :=  '';
                            
    MAIL_FILES@DB (email
                                          ,:NEW.SOLICITANTE_USER||'@email.com.br;'||DG||';'
                                          ,'Novo ticket nº '||:NEW.ID||' - '||:NEW.TITULO||''
                                          ,s_cabecalho||s_corpo||s_rodape
                                          ,NULL
                                          ,NULL
                                          );
    
END;

Nenhum comentário:

Postar um comentário