Pablo,

     Pede para o responsável pelo servidor de e-mails dar uma monitorada.


Pablo Câmara escreveu:
> 
> 
> Olá pessoal,
> 
> Gostaria de uma ajuda para tentar compreender uma situação:
> 
> Desde de Janeiro de 2005 a função abaixo é utilizada para o envio de
> e-mails. Nunca tivemos problemas com ela.Sempre funcionou até o dia
> 25/04/2008.
> __________________________________________________________
> 
> PROCEDURE HTML_MAIL(
> P_TO IN VARCHAR2,
> P_FROM IN VARCHAR2,
> P_SUBJECT IN VARCHAR2,
> P_TEXT IN VARCHAR2 DEFAULT NULL,
> P_HTML IN VARCHAR2 DEFAULT NULL)
> 
> is
> l_boundary varchar2(255) default 'a1b2c3d4e3f2g1';
> l_connection utl_smtp.connection;
> l_body_html clob := empty_clob;
> l_local varchar2(255) := 'localhost';
> l_offset number;
> l_ammount number;
> l_temp varchar2(32767) default null;
> l_from varchar2(100) := p_from;
> l_to varchar2(100) := p_to;
> 
> begin
> 
> l_connection := utl_smtp.open_connection(l_local);
> utl_smtp.helo( l_connection, l_local );
> 
> utl_smtp.mail( l_connection, l_from );
> utl_smtp.rcpt( l_connection, l_to );
> 
> l_temp := l_temp || 'MIME-Version: 1.0' || chr(13) || chr(10);
> l_temp := l_temp || 'To: ' || l_to || chr(13) || chr(10);
> l_temp := l_temp || 'From: ' || l_from || chr(13) || chr(10);
> l_temp := l_temp || 'Subject: ' || p_subject || chr(13) || chr(10);
> l_temp := l_temp || 'Reply-To: ' || l_from || chr(13) || chr(10);
> l_temp := l_temp || 'Content-Type: multipart/alternative; boundary=' ||
> chr(34) || l_boundary || chr(34) || chr(13) ||
> chr(10);
> 
> ----------------------------------------------------
> -- Write the headers
> dbms_lob.createtemporary( l_body_html, false, 10 );
> dbms_lob.write(l_body_html,length(l_temp),1,l_temp);
> 
> ----------------------------------------------------
> -- Write the text boundary
> l_offset := dbms_lob.getlength(l_body_html) + 1;
> l_temp := '--' || l_boundary || chr(13)||chr(10);
> l_temp := l_temp || 'content-type: text/plain; charset=us-ascii' ||
> chr(13) || chr(10) || chr(13) || chr(10);
> dbms_lob.write(l_body_html,length(l_temp),l_offset,l_temp);
> 
> ----------------------------------------------------
> -- Write the plain text portion of the email
> l_offset := dbms_lob.getlength(l_body_html) + 1;
> dbms_lob.write(l_body_html,length(p_text),l_offset,p_text);
> 
> ----------------------------------------------------
> -- Write the HTML boundary
> l_temp := chr(13)||chr(10)||chr(13)||chr(10)||'--' || l_boundary ||
> chr(13) || chr(10);
> l_temp := l_temp || 'content-type: text/html;' ||
> chr(13) || chr(10) || chr(13) || chr(10);
> l_offset := dbms_lob.getlength(l_body_html) + 1;
> dbms_lob.write(l_body_html,length(l_temp),l_offset,l_temp);
> 
> ----------------------------------------------------
> -- Write the HTML portion of the message
> l_offset := dbms_lob.getlength(l_body_html) + 1;
> dbms_lob.write(l_body_html,length(p_html),l_offset,p_html);
> 
> ----------------------------------------------------
> -- Write the final html boundary
> l_temp := chr(13) || chr(10) || '--' || l_boundary || '--' ||
> chr(13);
> l_offset := dbms_lob.getlength(l_body_html) + 1;
> dbms_lob.write(l_body_html,length(l_temp),l_offset,l_temp);
> 
> ----------------------------------------------------
> -- Send the email in 1900 byte chunks to UTL_SMTP
> l_offset := 1;
> l_ammount := 1900;
> utl_smtp.open_data(l_connection);
> while l_offset < dbms_lob.getlength(l_body_html) loop
> utl_smtp.write_data(l_connection,
> 
> dbms_lob.substr(l_body_html,l_ammount,l_offset));
> l_offset := l_offset + l_ammount ;
> l_ammount := least(1900,dbms_lob.getlength(l_body_html) -
> l_ammount);
> end loop;
> utl_smtp.close_data(l_connection);
> utl_smtp.quit( l_connection );
> dbms_lob.freetemporary(l_body_html);
> 
> end;
> 
> __________________________________________________________
> 
> Na empresa temos a seguinte configuração:
> 
> Em produção: HP-UX 11.0 rodando com o Banco Oracle 8i.
> 
> Em bkp1: Um outro servidor, com o banco 8i.
> 
> Em desenvolvimento2: Um outro servidor, com o oracle 10g.
> 
> Cada banco de dados é independente. Não existe nenhum link entre eles.
> 
> O detalhe é que as nos três servidores a função parou de funcionar. Nenhum
> e-mail é gerado. E não consigo encontrar onde está o erro. Nenhum mensagem é
> exibida. Nenhum ora-xxxx é gerado.
> 
> Obrigado pela compreensão
> 
> Pablo Câmara
> 
> [As partes desta mensagem que não continham texto foram removidas]
> 
> 


-- 

Sds,

   Leonardo Rezende
   Analista Desenvolvedor
   [EMAIL PROTECTED]

Responder a