Jump to content
Fórum Script Brasil
  • 0

Ao Executar Aspmail


zando
 Share

Question

Olá galera,

tenho um formulário no qual uso o aspmail para mandar o cadastro por e-mail. O que ocorre é o seguinte: quando abro a página em meu servidor, ele já executa e o mostra a mensagem de erro...

Ele teria que fazer isto depois que eu clicasse em "enviar"...

A ação do formulário é "obrigado.asp"

O que pode estar errado? Alguém pode me ajudar?

Segue o código abaixo...

<%

Set Mailer = Server.CreateObject("SMTPsvg.Mailer")

Mailer.FromName = request.form("nome")

Mailer.FromAddress= request.form("email")

Mailer.RemoteHost = "smtp.servidor.com.br"

Mailer.AddRecipient "login", "[email protected]"

Mailer.ContentType = "text/html" ' formatação html

Mailer.Subject = "Cadastro"

Mailer.BodyText = "<b>Nome: </b>" & request.form("nome") & "<br>" & _

"<b>Email: </b>" & request.form("email") & "<br>" & _

"<b>Endereço: </b>" & request.form("endereco") & "<br>" & _

"<b>Bairro: </b>" & request.form("bairro") & "<br>" & _

"<b>Cidade: </b>" & request.form("cidade") & "<br>" & _

"<b>Telefone: </b>" & request.form("tel") & "<br>" & _

"<b>Celular: </b>" & request.form("cel") & "<br>" & _

"<b>Aniversário: </b>" & request.form("dia") & " de " & request.form("mes") & "<br>" & _

"<b>Nome da instituição: </b>" & request.form("instituicao") & "<br>" & _

"<b>Telefone da instituição: </b>" & request.form("tel_inst") & "<br>" & _

"<b>Disciplinas: </b>" & request.form("disciplinas") & "<br>" & _

"<b>Livros: </b>" & request.form("livros") & "<br>"

x = Mailer.SendMail

if x = true then

Response.redirect ("obrigado.asp?")

Else

Response.Write("<script>alert('Erro!!!')</script>")

end if

%>

<%Set Mailer = Nothing%>

Link to comment
Share on other sites

14 answers to this question

Recommended Posts

  • 0
Olá galera,

tenho um formulário no qual uso o aspmail para mandar o cadastro por e-mail. O que ocorre é o seguinte: quando abro a página em meu servidor, ele já executa e o mostra a mensagem de erro...

Ele teria que fazer isto depois que eu clicasse em "enviar"...

A ação do formulário é "obrigado.asp"

O que pode estar errado? Alguém pode me ajudar?

Segue o código abaixo...

<%

Set Mailer = Server.CreateObject("SMTPsvg.Mailer")

Mailer.FromName = request.form("nome")

Mailer.FromAddress= request.form("email")

Mailer.RemoteHost = "smtp.servidor.com.br"

Mailer.AddRecipient "login", "[email protected]"

Mailer.ContentType = "text/html" ' formatação html

Mailer.Subject = "Cadastro"

Mailer.BodyText = "<b>Nome: </b>" & request.form("nome") & "<br>" & _

"<b>Email: </b>" & request.form("email") & "<br>" & _

"<b>Endereço: </b>" & request.form("endereco") & "<br>" & _

"<b>Bairro: </b>" & request.form("bairro") & "<br>" & _

"<b>Cidade: </b>" & request.form("cidade") & "<br>" & _

"<b>Telefone: </b>" & request.form("tel") & "<br>" & _

"<b>Celular: </b>" & request.form("cel") & "<br>" & _

"<b>Aniversário: </b>" & request.form("dia") & " de " & request.form("mes") & "<br>" & _

"<b>Nome da instituição: </b>" & request.form("instituicao") & "<br>" & _

"<b>Telefone da instituição: </b>" & request.form("tel_inst") & "<br>" & _

"<b>Disciplinas: </b>" & request.form("disciplinas") & "<br>" & _

"<b>Livros: </b>" & request.form("livros") & "<br>"

x = Mailer.SendMail

if x = true then

Response.redirect ("obrigado.asp?")

Else

Response.Write("<script>alert('Erro!!!')</script>")

end if

%>

<%Set Mailer = Nothing%>

Qual a mensagem de erro ?

Link to comment
Share on other sites

  • 0

hmm

ele já executa e dá a mensagem de erro?

Ué..

Sobre o erro tudo bem.. Mas porque você disse que ele já executa?

Não era pra executar? Ele deveria executar depois de clicar no botao..?

E como disse o urso.. cade a mensagem de erro ..?

Link to comment
Share on other sites

  • 0

O problema está na condição que faço para que ele envie o e-mail ou não.. Mas na hora que abro a página, ela não aparece o formulário, mas sim a mensagem de erro e depois que clicar em Ok no "alert" que aparece vai para a página do formulário.

O que pode estar errado? Tem como fazer a condição de outro jeito?

Link to comment
Share on other sites

  • 0

O interessante é que se eu tirar a condição ele dar certo...

Mas eu preciso de colocar essa condição... a condição é esta abaixo...

x = Mailer.SendMail

if x = true then

Response.redirect ("obrigado.asp?")

Else

Response.Write("<script>alert('Erro!!!')</script>")

end if

%>

Alguém pode me responder por favor...

Desde já agradeço a resposta.

Link to comment
Share on other sites

  • 0

if Mailer.SendMail then

Response.redirect ("obrigado.asp?")

Else

Response.Write("<script>alert('Erro!!!')</script>")

end if

teste aí!

Link to comment
Share on other sites

  • 0
Guest Guest

Eu fiz assim e deu certo...

x = Mailer.SendMail

if x = true then

MSG = " Obrigado, seu cadastro foi enviado com sucesso!"

Response.redirect ("obrigado.asp?msg="&MSG&"")

end if

Mas eu quero colocar a condição que se não der certo, aparece a mensagem de erro... o problema está nessa condição, porque quando testo sem ela dá certo, mas quando a coloco, processa direto...

Desde já agradeço a resposta...

Link to comment
Share on other sites

  • 0

mas Mailer.SendMail retorna algum valor?

você tem certeza?

Tenta dá um response.write nele, pra ver..

Se ele não tiver valor nenhum, ele sempre vai entrar no ELSE...

Link to comment
Share on other sites

  • 0

Olá, busquei informação com outro programador aqui na empresa e achei o que estava errado... No início do meu código do ASPMAIL eu tinha que colocar um "if" para que ele antes de executar buscasse um campo do formulário... Tipo, coloquei para requisitar o campo "nome" do meu formulário...

Então ele não executava direto a função e irá executar somente depois de alguém preencher o formulário e clicar em "cadastrar"...

Desde já, agradeço a colaboração de todos...

Este fórum é muito bom... vocês estão de parabéns.. biggrin.gif

Até mais....

Link to comment
Share on other sites

  • 0

Que bom que resolveu.

Mas veja só..

O codigo deve ser executado somente depois de clicar em Cadastrar, né?

Porque, você não coloca no seu IF, se o botao Cadastrar é diferente de vazio..

Pois, se o codigo só vai se executar depois de clicar no botao, não é interessante testar se o botao foi clicado?

Que acha?

Link to comment
Share on other sites

  • 0

Acho interessante a sua idéia...

como ficaria a condição?

if request.form("enviar") <> "" then ' então execute o ASPMAIL

Seria isso?

Link to comment
Share on other sites

  • 0

é isso aí

onde ENVIAR.. dentro do request.form deve ser o nome do botao!

acho que você pegou a ideia da coisa

hehehe

abraços

Link to comment
Share on other sites

  • 0

É isso aí,

estou fazendo um curso de ASP agora, por isso comecei a entender como funciona...

Agradeço sua resposta...

Ah.. Coloquei o "if" no botão e deu certo...

Valeu mesmo...

Até breve...

Link to comment
Share on other sites

  • 0

Perfeito cara!

Acho que posso fechar esse tópico, né?

To fechando ele.

Se quiser mais alguma coisa nesse assunto, me manda PM, que eu reabro ele!

Abraços

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share



  • Forum Statistics

    • Total Topics
      150.8k
    • Total Posts
      648.5k
×
×
  • Create New...