Enviando e-mail utilizando o UTL_SMTP
Olá pessoal!
Sei que isso já foi assunto de muitos tópicos mas não consegui resolver o meu problema...
Quando executo o procedimento abaixo ele retorna o erro:
DECLARE
vHostEmail VARCHAR2( 60 );
vConexao UTL_SMTP.CONNECTION;
vMessagem VARCHAR2( 4000 );
vDestinatario VARCHAR2( 4000 );
vRemetente VARCHAR2( 100 );
vAssunto VARCHAR2( 60 );
BEGIN
vAssunto := ´package UTL_SMTP´;
vDestinatario := ´user1@oracle.com.br´;
vRemetente := ´user2@oracle-ltda.com.br´;
vMessagem := ´Teste de envio de e-mail, utilizando a package UTL_SMTP´;
vHostEmail := ´smtp.oracle.com.br´;
vConexao := UTL_SMTP.OPEN_CONNECTION( vHostEmail, 25 );
UTL_SMTP.HELO( vConexao, vHostEmail );
UTL_SMTP.MAIL( vConexao, vRemetente );
UTL_SMTP.RCPT( vConexao, vDestinatario );
UTL_SMTP.DATA( vConexao, ´Date: ´ || TO_CHAR( SYSDATE, ´dd Mon yy hh24:mi:ss´ ) || UTL_TCP.CRLF ||
´From: ´ || vRemetente || UTL_TCP.CRLF ||
´To: ´ || vDestinatario || UTL_TCP.CRLF ||
´Subject: ´ || vAssunto ||
UTL_TCP.CRLF || vMessagem );
UTL_SMTP.QUIT( vConexao );
END;
/
DECLARE
*
ERROR at line 1:
ORA-20002: 555 syntax error (#5.5.4)
ORA-06512: at ´SYS.UTL_SMTP´, line 86
ORA-06512: at ´SYS.UTL_SMTP´, line 204
ORA-06512: at line 16
Que syntax é essa!?!?!? Alguém pode me ajudar?
Sei que isso já foi assunto de muitos tópicos mas não consegui resolver o meu problema...
Quando executo o procedimento abaixo ele retorna o erro:
DECLARE
vHostEmail VARCHAR2( 60 );
vConexao UTL_SMTP.CONNECTION;
vMessagem VARCHAR2( 4000 );
vDestinatario VARCHAR2( 4000 );
vRemetente VARCHAR2( 100 );
vAssunto VARCHAR2( 60 );
BEGIN
vAssunto := ´package UTL_SMTP´;
vDestinatario := ´user1@oracle.com.br´;
vRemetente := ´user2@oracle-ltda.com.br´;
vMessagem := ´Teste de envio de e-mail, utilizando a package UTL_SMTP´;
vHostEmail := ´smtp.oracle.com.br´;
vConexao := UTL_SMTP.OPEN_CONNECTION( vHostEmail, 25 );
UTL_SMTP.HELO( vConexao, vHostEmail );
UTL_SMTP.MAIL( vConexao, vRemetente );
UTL_SMTP.RCPT( vConexao, vDestinatario );
UTL_SMTP.DATA( vConexao, ´Date: ´ || TO_CHAR( SYSDATE, ´dd Mon yy hh24:mi:ss´ ) || UTL_TCP.CRLF ||
´From: ´ || vRemetente || UTL_TCP.CRLF ||
´To: ´ || vDestinatario || UTL_TCP.CRLF ||
´Subject: ´ || vAssunto ||
UTL_TCP.CRLF || vMessagem );
UTL_SMTP.QUIT( vConexao );
END;
/
DECLARE
*
ERROR at line 1:
ORA-20002: 555 syntax error (#5.5.4)
ORA-06512: at ´SYS.UTL_SMTP´, line 86
ORA-06512: at ´SYS.UTL_SMTP´, line 204
ORA-06512: at line 16
Que syntax é essa!?!?!? Alguém pode me ajudar?
Rscramin
Curtidas 0
Respostas
Rosterne
13/07/2006
Faça assim:
CREATE OR REPLACE PROCEDURE EMAIL
IS
BEGIN
DECLARE
vHostEmail VARCHAR2( 60 );
vConexao UTL_SMTP.CONNECTION;
vMessagem VARCHAR2( 4000 );
vDestinatario VARCHAR2( 4000 );
vRemetente VARCHAR2( 100 );
vAssunto VARCHAR2( 60 );
BEGIN
vAssunto := ´package UTL_SMTP´;
vDestinatario := ´user1@oracle.com.br´;
vRemetente := ´user2@oracle-ltda.com.br´;
vMessagem := ´Teste de envio de e-mail, utilizando a package UTL_SMTP´;
vHostEmail := ´smtp.oracle.com.br´;
vConexao := UTL_SMTP.OPEN_CONNECTION( vHostEmail, 25 );
UTL_SMTP.HELO( vConexao, vHostEmail );
UTL_SMTP.MAIL( vConexao, vRemetente );
UTL_SMTP.RCPT( vConexao, vDestinatario );
UTL_SMTP.DATA( vConexao, ´Date: ´ || TO_CHAR( SYSDATE, ´dd Mon yy hh24:mi:ss´ ) || UTL_TCP.CRLF ||
´From: ´ || vRemetente || UTL_TCP.CRLF ||
´To: ´ || vDestinatario || UTL_TCP.CRLF ||
´Subject: ´ || vAssunto ||
UTL_TCP.CRLF || vMessagem );
UTL_SMTP.QUIT( vConexao );
END;
END;
dps rode a procedure:
- exec email
Espero ter ajudado.
CREATE OR REPLACE PROCEDURE EMAIL
IS
BEGIN
DECLARE
vHostEmail VARCHAR2( 60 );
vConexao UTL_SMTP.CONNECTION;
vMessagem VARCHAR2( 4000 );
vDestinatario VARCHAR2( 4000 );
vRemetente VARCHAR2( 100 );
vAssunto VARCHAR2( 60 );
BEGIN
vAssunto := ´package UTL_SMTP´;
vDestinatario := ´user1@oracle.com.br´;
vRemetente := ´user2@oracle-ltda.com.br´;
vMessagem := ´Teste de envio de e-mail, utilizando a package UTL_SMTP´;
vHostEmail := ´smtp.oracle.com.br´;
vConexao := UTL_SMTP.OPEN_CONNECTION( vHostEmail, 25 );
UTL_SMTP.HELO( vConexao, vHostEmail );
UTL_SMTP.MAIL( vConexao, vRemetente );
UTL_SMTP.RCPT( vConexao, vDestinatario );
UTL_SMTP.DATA( vConexao, ´Date: ´ || TO_CHAR( SYSDATE, ´dd Mon yy hh24:mi:ss´ ) || UTL_TCP.CRLF ||
´From: ´ || vRemetente || UTL_TCP.CRLF ||
´To: ´ || vDestinatario || UTL_TCP.CRLF ||
´Subject: ´ || vAssunto ||
UTL_TCP.CRLF || vMessagem );
UTL_SMTP.QUIT( vConexao );
END;
END;
dps rode a procedure:
- exec email
Espero ter ajudado.
GOSTEI 0
Motta
13/07/2006
http://forum.devmedia.com.br/viewtopic.php?t=68041&sid=51f22091cb4d96afa28517e81e2e3367
GOSTEI 0