envio de e-mail, SMTP

Dicas do Oracle Forms Builder - Blocos, Itens, LOV, Canvas, Triggers, comandos, PLL, d2kwutil, FMB, Alert, menus, etc
Responder
tora34
Rank: Analista Pleno
Rank: Analista Pleno
Mensagens: 108
Registrado em: Qua, 12 Nov 2008 6:01 pm
Localização: Campo Mourão PR

Bom dia!
Seguinte criei uma rotina de enviar e-mail, quando faço os testes na minha maquina enviando o e-mail para mim mesmo da certo, a partir do momento que coloco em produção e o usuário tenta mandar o e-mail, da erro. alguém poderia me dar uma ajuda? segue a foto do erro
Imagem

as rotinas criadas para enviar e-mail:

Selecionar tudo

 
PROCEDURE envia_email_html(p_to in varchar2,
                           p_from in varchar2,
                           p_subject in varchar2,
                           p_text in varchar2,
                           p_html in varchar2)


 IS
	texto varchar2(32000);
begin	
texto	:=
'	DECLARE 
p_to  VARCHAR2(200) := '''||P_to||''';
p_from  varchar2(200) := '''||p_from||''';
p_subject VARCHAR2(100) := '''||p_subject||''';
p_text  VARCHAR2(4000):= '''||p_text||''';
p_html VARCHAR2(4000):= '''||p_html||''';

p_smtp_hostname VARCHAR2(200):=''correio.trt9.jus.br'';


l_boundary varchar2(255) default ''a1b2c3d4e3f2g1'';
l_connection utl_smtp.connection;
l_body_html clob := empty_clob; 
l_offset number;
l_ammount number;
l_temp varchar2(32767) default null;
begin
l_connection := utl_smtp.open_connection(''10.1.2.40'');
utl_smtp.helo( l_connection, p_smtp_hostname );
utl_smtp.mail( l_connection, p_from );
utl_smtp.rcpt( l_connection, p_to );

l_temp := l_temp || ''MIME-Version: 1.0'' || chr(13) || chr(10);
l_temp := l_temp || ''To: '' || p_to || chr(13) || chr(10);
l_temp := l_temp || ''From: '' || p_from || chr(13) || chr(10);
l_temp := l_temp || ''Subject: '' || p_subject || chr(13) || chr(10);
l_temp := l_temp || ''Reply-To: '' || p_from || chr(13) || chr(10);
l_temp := l_temp || ''Content-Type: multipart/alternative; boundary='' || 
chr(34) || l_boundary || chr(34) || chr(13) || 
chr(10);

dbms_lob.createtemporary( l_body_html, false, 10 );
dbms_lob.write(l_body_html,length(l_temp),1,l_temp);

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);

l_offset := dbms_lob.getlength(l_body_html) + 1;
dbms_lob.write(l_body_html,length(p_text),l_offset,p_text);

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);

l_offset := dbms_lob.getlength(l_body_html) + 1;
dbms_lob.write(l_body_html,length(p_html),l_offset,p_html);

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);

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;
';

FORMS_DDL (TEXTO);
IF not Form_Success THEN 
	ERRO(Dbms_Error_Code||'-'||DBMS_ERROR_TEXT ); 
END IF;	
END;	
RodrigoValentim
Moderador
Moderador
Mensagens: 367
Registrado em: Ter, 25 Mar 2008 3:41 pm
Localização: Salvador - BA
Rodrigo Valentim
Analista de Sistemas
Oracle Developer

Campanha: Faça uma pesquisa antes de perguntar!!!

tora34
Rank: Analista Pleno
Rank: Analista Pleno
Mensagens: 108
Registrado em: Qua, 12 Nov 2008 6:01 pm
Localização: Campo Mourão PR

Obrigado Rodrigo. Vou testar aqui depois dou um retorno.
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 9 visitantes