Autenticação de e-mail

DBA Geral (instalação, configuração do banco, scripts do Sql*Plus, shell scripts, batch scripts, etc...)
Responder
fbarros300472
Rank: Analista Júnior
Rank: Analista Júnior
Mensagens: 73
Registrado em: Qui, 21 Set 2006 10:13 am
Localização: sp

Informações do Ambiente:
* 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:

Selecionar tudo

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;
pauloaleo
Rank: DBA Júnior
Rank: DBA Júnior
Mensagens: 181
Registrado em: Qua, 09 Fev 2005 12:30 pm
Localização: SÃO BERNARDO DO CAMPO - SP

O serviço smtp na sua máquina esta funcionando. você já tentou usar este serviço e ver se ele não esta pedindo autenticação?
Responder
  • Informação
  • Quem está online

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