Fala pessoal... td bem? espero que sim..
sou novo aqui, como todos podem perceber
então estou tendo um probleminha ao tentar utilizar a função UTL_SMTP que é utilizada para envio de e-mails...
ao tentar mandar uma mesma mensagem a vários destinatários o FORMS apresenta um erro..
será que alguém poderia me dar uma força...
grato da atenção de cada um de vocês...
té mais ver e forte abraço à todos..
Função UTL_SMTP
-
- Rank: Programador Sênior
- Mensagens: 57
- Registrado em: Qui, 16 Jun 2005 11:31 am
- Localização: Assis
- Contato:
--
Júnior
Júnior
Clique do Botão:
Função:
para um e-mail ele funciona belezinha, mas quando eu coloco no text_field, mais de um remetente separado por ";" ele dá um erro no FORMS...
valeu obrigado pela força..
DECLARE
SMTP_EMAIL varchar2(100);
remetente varchar2(300);
BEGIN
IF :envia_email.txt_destinatario IS NULL OR :envia_email.txt_assunto IS NULL OR :envia_email.txt_mensagem IS NULL THEN
message ('Todos os Campos devem ser Preenchidos');
message ('Todos os Campos devem ser Preenchidos');
raise form_trigger_failure;
ELSE
remetente := 'junior@sgq.com.br';
--SMTP_EMAIL := 'smtp.femanet.com.br';
SELECT SMTP
INTO SMTP_EMAIL
FROM email
WHERE smtp = 'smtp.femanet.com.br';
envia_mail(SMTP_EMAIL,
remetente,
:envia_email.txt_destinatario,
:envia_email.txt_assunto,
:envia_email.txt_mensagem);
:envia_email.txt_destinatario := null;
:envia_email.txt_assunto := null;
:envia_email.txt_mensagem := null;
END IF;
END;
PROCEDURE envia_mail(p_mailhost IN VARCHAR2,
p_sender IN VARCHAR2,
p_recipient IN VARCHAR2,
p_subject IN VARCHAR2,
p_message IN VARCHAR2 ) IS
mail_conn UTL_SMTP.CONNECTION;
crlf VARCHAR2( 2 ) := CHR( 13 ) || CHR( 10 );
mesg VARCHAR2( 5000 );
BEGIN
mail_conn := UTL_SMTP.OPEN_CONNECTION( p_mailhost, 25 );
mesg:= 'Date: ' || TO_CHAR( SYSDATE, 'dd Mon yy hh24:mi:ss' ) || crlf ||
'From: <' || p_sender || '>' || crlf ||
'Subject: ' || p_subject || crlf ||
'To: ' || p_recipient || crlf || '' || crlf || p_message;
UTL_SMTP.HELO( mail_conn, p_mailhost );
UTL_SMTP.MAIL( mail_conn, p_sender );
UTL_SMTP.RCPT( mail_conn, p_recipient);
UTL_SMTP.DATA( mail_conn, mesg );
UTL_SMTP.QUIT( mail_conn );
END;
valeu obrigado pela força..
- dr_gori
- Moderador
- Mensagens: 5024
- Registrado em: Seg, 03 Mai 2004 3:08 pm
- Localização: Portland, OR USA
- Contato:
Thomas F. G
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
Isso porque o UTL_SMTP não suporta mandar mais que um email por vez...
Acho que você terá que fazer uma rotina aí que divida a string do destinatário. Algo assim: Caso tenha 2 emails separados por ; ele seprara cada um deles e envia um por um...
Outra coisa que você pode fazer é tratar os exceptions:
Acho que você terá que fazer uma rotina aí que divida a string do destinatário. Algo assim: Caso tenha 2 emails separados por ; ele seprara cada um deles e envia um por um...
Outra coisa que você pode fazer é tratar os exceptions:
UTL_SMTP.INVALID_OPERATION
UTL_SMTP.TRANSIENT_ERROR
UTL_SMTP. PERMANENT_ERROR
-
- Rank: Programador Sênior
- Mensagens: 57
- Registrado em: Qui, 16 Jun 2005 11:31 am
- Localização: Assis
- Contato:
--
Júnior
Júnior
VIX!!!!!!! mas aí vai ser "DU BOZO" a parada hein!!!!
tem como você me dar uma dica de como fazer esse lance ??
valeus..
esses tratamentos de exptions fazem o que?
valeu denovo DrGori..
pelo jeito tu curte um Heavy hein... o maluquinho aqui não pára de chacoalhar a cabeça.. hahah valeu!!!!!
tem como você me dar uma dica de como fazer esse lance ??
valeus..
esses tratamentos de exptions fazem o que?
valeu denovo DrGori..
pelo jeito tu curte um Heavy hein... o maluquinho aqui não pára de chacoalhar a cabeça.. hahah valeu!!!!!
- dr_gori
- Moderador
- Mensagens: 5024
- Registrado em: Seg, 03 Mai 2004 3:08 pm
- Localização: Portland, OR USA
- Contato:
Thomas F. G
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
Faça uma pesquisa no forum!!!
Olha o que eu achei:
http://glufke.net/oracle/viewtopic.php? ... %2Amail%2A
Sobre os exceptions, você pode capturar os erros quando dá.
Exemplos:
Olha o que eu achei:
http://glufke.net/oracle/viewtopic.php? ... %2Amail%2A
Sobre os exceptions, você pode capturar os erros quando dá.
Exemplos:
ORA-29279: SMTP permanent error: 501 5.5.4 Invalid Address
ORA-29279: SMTP permanent error: 550 5.7.1 Unable to relay for mymail@gmail.com
ORA-29278: SMTP transient error: 421 Service not available
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 24 visitantes