- Este tópico contém 2 respostas, 1 voz e foi atualizado pela última vez 18 anos, 7 meses atrás por Anônimo.
-
AutorPosts
-
26 de agosto de 2004 às 12:10 am #74129Anônimo
Ol? Pessoal,
? a primeira vez que estou postando aqui nesse f?rum, e vou direto ao ponto de interesse ( o motivo pelo qual me registrei no grupo )
Estou h? pouco tempo desenvolvendo algumas rotinas em pl/sql e estou tendo dificuldade de fazer com que esse procedimento funcione corretamente.
A Id?ia desse procedimento consiste em enviar mensagens cujo o conte?do seja um CLOB, pelo fato de armazenar c?digos HTML e muitas vezes criarem relat?rios mais elaborados.
todas as vezes que executo esse procedimento ele aparece uma mensagem de erro no package sys.utl_smtp. aos quais n?o tenho como verificar o bloco de c?digo que est? sendo executado ou est? gerando o erro. ( /* Source is wrapped */ ), impedindo que eu possa verificar em qual parte do c?digo eu possa estar cometendo erros.
a imagem da mensagem de erro ? a seguinte
e o C?digo do Procedimento ? o seguinte :
procedure prc_envia_email
( p_remetente in varchar2
, p_destinatario in varchar2
, p_assunto in varchar2
, p_mensagem in varchar2
, p_media_type in varchar2
) asv_fim number;
v_count number;
v_mensagem clob;
v_temp varchar2( 32767 );
v_limite varchar2( 32767 );
v_nome_remetente varchar2( 70 ) := 'Nome do Remetente';;
v_smtp varchar2( 50 ) := 'smtp.host.com.br';
v_ctrl varchar2( 2 ) := chr( 10 );v_conn utl_smtp.connection;
begin
v_conn := utl_smtp.open_connection( v_smtp , 25 );utl_smtp.helo( v_conn , v_smtp );
utl_smtp.mail( v_conn , p_remetente );
utl_smtp.rcpt( v_conn , p_destinatario );-- cabecalho em text/html
v_temp := v_temp || 'MIME-Version: 1.0' || v_ctrl;
v_temp := v_temp || 'To: ' || p_destinatario || v_ctrl;
v_temp := v_temp || 'From: ' || p_remetente || v_ctrl;
v_temp := v_temp || 'Subject: ' || p_assunto || v_ctrl;
v_temp := v_temp || 'Reply-To: ' || p_remetente || v_ctrl;
v_temp := v_temp || 'Content-Type: text/html; boundary=' || chr(34) || v_limite || chr(34) || v_ctrl;-- grava cabecalho em text/html
dbms_lob.createtemporary( v_mensagem, false, 10 );
dbms_lob.write( v_mensagem , length( v_temp ) , 1 , v_temp );-- mensagem em text/html
' || v_ctrl;
v_mensagem := v_mensagem || '' || v_ctrl;
v_mensagem := v_mensagem || '
v_mensagem := v_mensagem || ' ' || v_ctrl;
v_mensagem := v_mensagem || ' ' || v_ctrl;
v_mensagem := v_mensagem || ' ' || v_ctrl;
v_mensagem := v_mensagem || '' || v_ctrl;
v_mensagem := v_mensagem || '' || v_ctrl;
v_mensagem := v_mensagem || '' || v_ctrl;
v_mensagem := v_mensagem || '' || v_ctrl;
v_mensagem := v_mensagem || '' || v_ctrl;
v_mensagem := v_mensagem || '' || v_ctrl;
v_mensagem := v_mensagem || '' || v_ctrl;
v_mensagem := v_mensagem || '' || v_ctrl;-- grava conteudo da mensagem
v_temp := v_ctrl || v_ctrl || v_limite || v_ctrl;
v_fim := dbms_lob.getLength( v_mensagem ) + 1;dbms_lob.write( v_mensagem , length( v_temp ) , v_fim , v_temp );
v_fim := 1;
v_count := 10000;utl_smtp.open_data( v_conn );
while v_fim < dbms_lob.getLength( v_mensagem ) loop utl_smtp.write_data( v_conn, dbms_lob.substr( v_mensagem , v_count , v_fim ) ); v_fim := v_fim + v_count ; v_count := least( 10000 , dbms_lob.getlength( v_mensagem ) - v_count ); end loop; utl_smtp.close_data( v_conn ); utl_smtp.quit( v_conn ); dbms_lob.freetemporary( v_mensagem ); end prc_envia_email;
Estou usando :
Sistema Operacional : Slackware 10
Oracle 10g :PS - 1 : No oracle 9I esse mesmo procedimento funcionava perfeitamente. O que me leva a imaginar que possa ser um problema de permiss?o.
PS - 2 : O sistema operacional antigo era o ( Red Hat )
PS - 3 : Foi criado um sistema de anti-spam, adicionando autentica??o de SMTP ( que eu tamb?m n?o consegui fazer funcionar nesse mesmo
procedimento )PS - 4 : Outros exemplos de procedimentos de e-mail usando with RAW and VARCHAR2 como tipos de dados continuam funcionando, por?m n?o tem utilidade para os e-mails que tenho que tem um a quantidade de caracteres ( kb ) superior a que o tipo varchar2 possa suportar.
Obrigado a todos,
Jefferson Petilo
Desenvolvedor ColdFusion21 de novembro de 2005 às 8:11 pm #74833Anônimo[quote=”Anonymous”:2jnba0pc]Ol? Pessoal,
? a primeira vez que estou postando aqui nesse f?rum, e vou direto ao ponto de interesse ( o motivo pelo qual me registrei no grupo )
Estou h? pouco tempo desenvolvendo algumas rotinas em pl/sql e estou tendo dificuldade de fazer com que esse procedimento funcione corretamente.
A Id?ia desse procedimento consiste em enviar mensagens cujo o conte?do seja um CLOB, pelo fato de armazenar c?digos HTML e muitas vezes criarem relat?rios mais elaborados.
todas as vezes que executo esse procedimento ele aparece uma mensagem de erro no package sys.utl_smtp. aos quais n?o tenho como verificar o bloco de c?digo que est? sendo executado ou est? gerando o erro. ( /* Source is wrapped */ ), impedindo que eu possa verificar em qual parte do c?digo eu possa estar cometendo erros.
a imagem da mensagem de erro ? a seguinte
e o C?digo do Procedimento ? o seguinte :
procedure prc_envia_email
( p_remetente in varchar2
, p_destinatario in varchar2
, p_assunto in varchar2
, p_mensagem in varchar2
, p_media_type in varchar2
) asv_fim number;
v_count number;
v_mensagem clob;
v_temp varchar2( 32767 );
v_limite varchar2( 32767 );
v_nome_remetente varchar2( 70 ) := 'Nome do Remetente';;
v_smtp varchar2( 50 ) := 'smtp.host.com.br';
v_ctrl varchar2( 2 ) := chr( 10 );v_conn utl_smtp.connection;
begin
v_conn := utl_smtp.open_connection( v_smtp , 25 );utl_smtp.helo( v_conn , v_smtp );
utl_smtp.mail( v_conn , p_remetente );
utl_smtp.rcpt( v_conn , p_destinatario );-- cabecalho em text/html
v_temp := v_temp || 'MIME-Version: 1.0' || v_ctrl;
v_temp := v_temp || 'To: ' || p_destinatario || v_ctrl;
v_temp := v_temp || 'From: ' || p_remetente || v_ctrl;
v_temp := v_temp || 'Subject: ' || p_assunto || v_ctrl;
v_temp := v_temp || 'Reply-To: ' || p_remetente || v_ctrl;
v_temp := v_temp || 'Content-Type: text/html; boundary=' || chr(34) || v_limite || chr(34) || v_ctrl;-- grava cabecalho em text/html
dbms_lob.createtemporary( v_mensagem, false, 10 );
dbms_lob.write( v_mensagem , length( v_temp ) , 1 , v_temp );-- mensagem em text/html
v_mensagem := v_mensagem || '' || v_ctrl;
v_mensagem := v_mensagem || ' ' || v_ctrl;
v_mensagem := v_mensagem || ' ' || v_ctrl;
v_mensagem := v_mensagem || ' ' || v_ctrl;
v_mensagem := v_mensagem || ' ' || v_ctrl;
v_mensagem := v_mensagem || '' || v_ctrl;
v_mensagem := v_mensagem || '' || v_ctrl;
v_mensagem := v_mensagem || '' || v_ctrl;
v_mensagem := v_mensagem || '' || v_ctrl;
v_mensagem := v_mensagem || '' || v_ctrl;
v_mensagem := v_mensagem || '' || v_ctrl;
v_mensagem := v_mensagem || '' || v_ctrl;
v_mensagem := v_mensagem || '' || v_ctrl;-- grava conteudo da mensagem
v_temp := v_ctrl || v_ctrl || v_limite || v_ctrl;
v_fim := dbms_lob.getLength( v_mensagem ) + 1;dbms_lob.write( v_mensagem , length( v_temp ) , v_fim , v_temp );
v_fim := 1;
v_count := 10000;utl_smtp.open_data( v_conn );
while v_fim < dbms_lob.getLength( v_mensagem ) loop
utl_smtp.write_data( v_conn, dbms_lob.substr( v_mensagem , v_count , v_fim ) );v_fim := v_fim + v_count ;
v_count := least( 10000 , dbms_lob.getlength( v_mensagem ) - v_count );
end loop;utl_smtp.close_data( v_conn );
utl_smtp.quit( v_conn );dbms_lob.freetemporary( v_mensagem );
end prc_envia_email;
Estou usando :
Sistema Operacional : Slackware 10
Oracle 10g :PS – 1 : No oracle 9I esse mesmo procedimento funcionava perfeitamente. O que me leva a imaginar que possa ser um problema de permiss?o.
PS – 2 : O sistema operacional antigo era o ( Red Hat )
PS – 3 : Foi criado um sistema de anti-spam, adicionando autentica??o de SMTP ( que eu tamb?m n?o consegui fazer funcionar nesse mesmo
procedimento )PS – 4 : Outros exemplos de procedimentos de e-mail usando with RAW and VARCHAR2 como tipos de dados continuam funcionando, por?m n?o tem utilidade para os e-mails que tenho que tem um a quantidade de caracteres ( kb ) superior a que o tipo varchar2 possa suportar.
Obrigado a todos,
Jefferson Petilo
Desenvolvedor ColdFusion[/quote]10 de junho de 2006 às 11:16 pm #75814Anônimo[quote=”Anonymous”:34vg0phj]Olá Pessoal,
É a primeira vez que estou postando aqui nesse fórum, e vou direto ao ponto de interesse ( o motivo pelo qual me registrei no grupo )
Estou há pouco tempo desenvolvendo algumas rotinas em pl/sql e estou tendo dificuldade de fazer com que esse procedimento funcione corretamente.
A Idéia desse procedimento consiste em enviar mensagens cujo o conteúdo seja um CLOB, pelo fato de armazenar códigos HTML e muitas vezes criarem relatórios mais elaborados.
todas as vezes que executo esse procedimento ele aparece uma mensagem de erro no package sys.utl_smtp. aos quais não tenho como verificar o bloco de código que está sendo executado ou está gerando o erro. ( /* Source is wrapped */ ), impedindo que eu possa verificar em qual parte do código eu possa estar cometendo erros.
a imagem da mensagem de erro é a seguinte
e o Código do Procedimento é o seguinte :
procedure prc_envia_email
( p_remetente in varchar2
, p_destinatario in varchar2
, p_assunto in varchar2
, p_mensagem in varchar2
, p_media_type in varchar2
) asv_fim number;
v_count number;
v_mensagem clob;
v_temp varchar2( 32767 );
v_limite varchar2( 32767 );
v_nome_remetente varchar2( 70 ) := 'Nome do Remetente';;
v_smtp varchar2( 50 ) := 'smtp.host.com.br';
v_ctrl varchar2( 2 ) := chr( 10 );v_conn utl_smtp.connection;
begin
v_conn := utl_smtp.open_connection( v_smtp , 25 );utl_smtp.helo( v_conn , v_smtp );
utl_smtp.mail( v_conn , p_remetente );
utl_smtp.rcpt( v_conn , p_destinatario );-- cabecalho em text/html
v_temp := v_temp || 'MIME-Version: 1.0' || v_ctrl;
v_temp := v_temp || 'To: ' || p_destinatario || v_ctrl;
v_temp := v_temp || 'From: ' || p_remetente || v_ctrl;
v_temp := v_temp || 'Subject: ' || p_assunto || v_ctrl;
v_temp := v_temp || 'Reply-To: ' || p_remetente || v_ctrl;
v_temp := v_temp || 'Content-Type: text/html; boundary=' || chr(34) || v_limite || chr(34) || v_ctrl;-- grava cabecalho em text/html
dbms_lob.createtemporary( v_mensagem, false, 10 );
dbms_lob.write( v_mensagem , length( v_temp ) , 1 , v_temp );-- mensagem em text/html
v_mensagem := v_mensagem || '' || v_ctrl;
v_mensagem := v_mensagem || ' ' || v_ctrl;
v_mensagem := v_mensagem || ' ' || v_ctrl;
v_mensagem := v_mensagem || ' ' || v_ctrl;
v_mensagem := v_mensagem || ' ' || v_ctrl;
v_mensagem := v_mensagem || '' || v_ctrl;
v_mensagem := v_mensagem || '' || v_ctrl;
v_mensagem := v_mensagem || '' || v_ctrl;
v_mensagem := v_mensagem || '' || v_ctrl;
v_mensagem := v_mensagem || '' || v_ctrl;
v_mensagem := v_mensagem || '' || v_ctrl;
v_mensagem := v_mensagem || '' || v_ctrl;
v_mensagem := v_mensagem || '' || v_ctrl;-- grava conteudo da mensagem
v_temp := v_ctrl || v_ctrl || v_limite || v_ctrl;
v_fim := dbms_lob.getLength( v_mensagem ) + 1;dbms_lob.write( v_mensagem , length( v_temp ) , v_fim , v_temp );
while v_fim < dbms_lob.getLength( v_mensagem ) loop
utl_smtp.write_data( v_conn, dbms_lob.substr( v_mensagem , v_count , v_fim ) );v_fim := v_fim + v_count ;
v_count := least( 10000 , dbms_lob.getlength( v_mensagem ) - v_count );
end loop;utl_smtp.close_data( v_conn );
utl_smtp.quit( v_conn );dbms_lob.freetemporary( v_mensagem );
end prc_envia_email;
Estou usando :
Sistema Operacional : Slackware 10
Oracle 10g :PS – 1 : No oracle 9I esse mesmo procedimento funcionava perfeitamente. O que me leva a imaginar que possa ser um problema de permissão.
PS – 2 : O sistema operacional antigo era o ( Red Hat )
PS – 3 : Foi criado um sistema de anti-spam, adicionando autenticação de SMTP ( que eu também não consegui fazer funcionar nesse mesmo
procedimento )PS – 4 : Outros exemplos de procedimentos de e-mail usando with RAW and VARCHAR2 como tipos de dados continuam funcionando, porém não tem utilidade para os e-mails que tenho que tem um a quantidade de caracteres ( kb ) superior a que o tipo varchar2 possa suportar.
Obrigado a todos,
Jefferson Petilo
Desenvolvedor ColdFusion[/quote] -
AutorPosts
- Você deve fazer login para responder a este tópico.