Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

TeixeiraRamos

Erro em objCDOSYSMail.Send

Recommended Posts

Estou tentando fazer um formulario para enviar e-mail.

Aqui no forum foi postado um link.

Através desse link fui acompanhando as orientações e digitando o código. Não acredito que em exemplo desse não é testado.

Ocorre que depois de se preencher os dados da página contado.html,indica o segunie erro na linha 27 da página enviar.asp:

objCDOSYSMail.Send

 

----------------------------------

Tipo de erro:

(0x8004020F)

A classe de evento dessa assinatura está em uma partição inválida

/email_envio_de_com_cdosys/envia.asp, line 27

---------------------------------

 

O código todo da página enviar.asp

<%@LANGUAGE="VBSCRIPT"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<title>Untitled Document</title>

</head>

 

<body>

<%

 

Set objCDOSYSMail = Server.CreateObject("CDO.Message")

Set objCDOSYSCon = Server.CreateObject("CDO.Configuration")

 

objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "localhost"

objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25

objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2

objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtponnectiontimeout") = 30

 

objCDOSYSCon.Fields.update

 

Set objCDOSYSMail.Configuration = objCDOSYSCon

objCDOSYSMail.From = "Remetente@dominio.com.br"

objCDOSYSMail.To = "Destinatario@dominio.com.br"

objCDOSYSMail.Subject = "Assunto do e-mail"

objCDOSYSMail.TextBody = "Corpo da mensagem"

objCDOSYSMail.Send

 

set objCDOSYSMail = nothing

set objCDOSYSCon = nothing

response.Write("<h1>Mensagem enviada com sucesso!!</h1>")

%>

</body>

</html>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esta mensagem de erro vem cdosys.h, e não tem nada a ver com qualquer espécie de "partição" - é realmente aglomeradas em outros erros em uma mensagem sobrecarregados. O código de erro é de fato atribuído ao seguinte:

 

CONST LONG CDO_E_RECIPIENTS_REJECTED = 0x8004020FL

 

O que significa que o e-mail foi rejeitado pelo servidor por algum motivo. Aqui estão algumas coisas que você pode tentar resolver o problema:

 

1. Verifique se o servidor SMTP permite a retransmissão (não autenticada) anônimo. Se a sua saída SMTP requer autenticação, consulte o artigo # 2026.

 

2. Verifique se o problema é específico para o nome de domínio (s) utilizado nos endereços de e-mail dos destinatários. Por exemplo, alguns usuários se queixaram de que eles podem enviar para os usuários em seu próprio domínio apenas, outros disseram que pode enviar para qualquer domínio, exceto o seu próprio.

 

3. Pode ser simplesmente que o endereço de e-mail está sendo rejeitado, mas outras configurações do servidor SMTP estão impedindo a verdadeira mensagem de erro de ser retransmitida de volta para o script ASP ... assim verificar que o endereço é válido.

 

4. Se você tiver um firewall ou proxy, certifique-se o servidor web está configurado corretamente para passar por ele, que o servidor SMTP sabe sobre ele, e que o proxy permite o acesso a porta 25.

 

5. Tente usar um valor SendUsing de um coletor () ao invés de 2 (porto). Por exemplo, a seguinte linha:

 

. Item (cdoSendUsingMethod) = cdoSendUsingPort

 

para

 

. Item (cdoSendUsingMethod) = cdoSendUsingPickup

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem, não informei, mas tanto o arquivo enviar.asp como o arquivo contato.html estão local.

Não tenho condições de colocar agora no servidor. Nesse caso, pensei que se poderia testar alguma coisa mesmo estando local e não daria essa mensagem de erro.

Você entendeu? Como se testa um arquivo para enviar e-mail estando local? É possível entrar na página cantato.html, preencher os campos e clicar no botão "envia mensagem”? Apresentaria erro? Por que o exemplo não esclarece isso?

Digitando conforme está no exemplo daria esse erro?

O que não entendo é isso. Se o exemplo está correto tudo bem que os dados de enviar não são reais, mas daria erro apontando para essa linha que informei anteriormente. É uma pena, mas para quem está aprendendo, ainda, fica sem saber o que fazer. Qualquer um que acessar http://wiki.locaweb.com.br/pt-br/Cdosys

fica impressionado com as explicações mas na prática indica erro. Resultado, não consegui aprender, pois tem outros quinhentos conforme foi respondido. Repito o exemplo não poderia alertar que "...digitando o código com as páginas local sem indicar corretamente destinatário e remetente vai apresentar o erro tal..." ou "não é possível ser testado estando com os arquivos na sua máquina." Mesmo que isso seja lógico devemos esclarecer as coisas por excesso nunca por omissão.

Já observarão dois médicos conversando. Se eles quiserem, para se amostra, você não vai entender nada da conversa. É a mesma coisa com programação para quem está iniciando. Conheci um sujeito que falava "Vou para uma reunião muito chata. Mas vou terminar logo com ela. Começo a falar um monte de termos técnicos que o pessoal cai fora logo".

Mas valeu. Se é que devo comparar, mas com os livros acontece a mesma coisa. Não vou citar nomes é claro, ha muitos anos já fiquei até de madrugada para chegar a conclusão que em uma SQL traduziram uma palavra. E o autor está tomando o melhor vinho com as vendas de livros.

Mas vamos que vamos. É a vida.

Compartilhar este post


Link para o post
Compartilhar em outros sites

você precisa confgurá-lo corretamente

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.