* Versão do Oracle: 10 g
* Sistema Operacional: Red Hat 4
Bom dia a todos !
tenho uma procedure para envio de e-mails. Quando mando executá-la, dá um erro na autenticação:
ORA-29279: SMTP permanent error: 503 AUTH command used when not advertised
Alguém saberia me dizer como resolver isso.
Segue abaixo a procedure:
create or replace PROCEDURE Enviar_Email(ds_mensagem_p varchar2,
ds_assunto varchar2,
ds_email_origem_w varchar2,
ds_email_destino_p varchar2,
nm_usuario_p varchar2) is
ds_smtp_w varchar2(20) := servidor;
ds_user_id_w varchar2(50) := usuário a autenticar;
ds_senha_smtp_w varchar2(50) := senha;
/* Abre conexão SMTP e HTTP */
CONEXAO UTL_SMTP.CONNECTION;
BEGIN
/* Abre conexão com um Servidor SMTP(Simple Mail Transfer Protocol), porta padrão SMTP é 25 */
CONEXAO := utl_smtp.open_connection(ds_smtp_w, 25);
UTL_SMTP.HELO(CONEXAO, ds_smtp_w); /* Endereço do servidor de SMTP */
utl_smtp.command(CONEXAO, 'AUTH LOGIN');
utl_smtp.command(CONEXAO,
utl_raw.cast_to_varchar2(utl_encode.base64_encode(utl_raw.cast_to_raw((ds_user_id_w)))));
utl_smtp.command(CONEXAO,
utl_raw.cast_to_varchar2(utl_encode.base64_encode(utl_raw.cast_to_raw((ds_senha_smtp_w)))));
UTL_SMTP.MAIL(CONEXAO, ('<' || ds_email_origem_w || '>')); /* E-mail de quem está mandando */
UTL_SMTP.RCPT(CONEXAO, ('<' || ds_email_destino_p || '>')); /* Para quem vou mandar */
UTL_SMTP.OPEN_DATA(CONEXAO);
UTL_SMTP.WRITE_DATA(CONEXAO,
'Subject' || ': ' || ds_assunto || utl_tcp.CRLF);
UTL_SMTP.WRITE_DATA(CONEXAO, utl_tcp.CRLF || ds_mensagem_p);
UTL_SMTP.CLOSE_DATA(CONEXAO);
UTL_SMTP.QUIT(CONEXAO);
Exception
WHEN OTHERS THEN
utl_smtp.quit(conexao);
raise_application_error(-20011,
'Não foi possível enviar o e-mail devido ao seguinte erro: ' ||
sqlerrm);
END Enviar_Email;