1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Construir uma Form em HTML/ASP para enviar mails de forma directa

Discussão em 'Web Development' iniciada por peter alien, 17 de Dezembro de 2007. (Respostas: 3; Visualizações: 3499)

  1. peter alien

    peter alien Power Member

    Olá,

    queria construir uma Form que permitisse os utilizadores mandarem um mail de forma directa para uma conta de mail, o código do ficheiro HTML que contem a Form está mais abaixo, mas que tipo de código tenho de pôr no ficheiro ASP ?

    Ou seja, uma coisa do género: Form.html -> Mailto.asp "(envia o mail)" -> Form_OK.html

    PHP:

    <BODY>
    <
    FORM action=mailto.asp method=post>
    <
    INPUT type=hidden value=geral@gmail.com name=sendto
    <
    INPUT type=hidden value=mail.gmail.pt name=server>
    <
    INPUT type=hidden value="Registo_de_Opinioes" name=subject>
    <
    INPUT type=hidden value=Form_OK.html name=resulturl
    <
    DIV align=center>
    <
    TABLE class=Text cellSpacing=0 width=450 border=0>
      <
    TBODY>
        <
    TD align=right width=100>Nome:</TD>
        <
    TD><INPUT size=42 name=nome></TD></TR>
        <
    TD align=right width=100>Morada:</TD>
        <
    TD><INPUT size=42 name=morada></TD></TR>
      <
    TR>
        <
    TD align=right width=100>Localidade:</TD>
        <
    TD vAlign=center><INPUT size=42 name=localidade></TD></TR>
      <
    TR>
        <
    TD align=right width=100>Código Postal:</TD>
        <
    TD vAlign=center><SMALL><INPUT size=42 name=codex></SMALL></TD></TR>
      <
    TR>
        <
    TD align=right width=100>Telefone:</TD>
        <
    TD><SMALL><INPUT size=16 name=fone>&nbsp; </SMALL>Fax: <INPUT size=16 
          name
    =fax></TD></TR>
      <
    TR>
        <
    TD align=right width=100>e-mail:</TD>
        <
    TD><INPUT size=42 name=mail></TD></TR>
      <
    TR>
        <
    TD width=100></TD>
        <
    TD><SMALL><INPUT type=radio CHECKED value=comentario 
          name
    =pedido></SMALL>Desejo enviar o seguinte comentário</TD></TR>
      <
    TR>
        <
    TD width=100></TD>
        <
    TD><SMALL><INPUT type=radio value=pedido_produtos 
          name
    =pedido></SMALL>Desejo receber informações sobre:</TD></TR>
      <
    TR>
        <
    TD width=100></TD>
        <
    TD><TEXTAREA name=areadetexto rows=6 cols=36
      </
    TEXTAREA></TD></TR>
      <
    TR>
        <
    TD width=120></TD>
        <
    TD><INPUT class=Headers type=submit value=Enviar>
     <
    INPUT class=Headers type=reset value=Limpar></TD></TR></TBODY></TABLE></DIV>
    </
    FORM>
    </
    BODY>


    Obrigado.
     
  2. slack_guy

    slack_guy Power Member

    Quando tiveres essa página online, dá-me o link que eu depois faço um formulário que envia para o teu servidor com estes dados:
    Código:
    <INPUT type=hidden [email protected]_here.com name=sendto> 
    <INPUT type=hidden value=mail.gmail.pt name=server>
    <INPUT type=hidden value="Spam à fartazana" name=subject>
    <INPUT type=hidden value=Form_OK.html name=resulturl>
    
    Quando acordasses, o teu servidor estaria na lista negra de spammers :-)

    Por outras palavras: não faças isso.
    Faz antes isto:
    Código:
    Form
      |
      +--> script valida dados:
             dados OK? 
                envia mail -> redirect para resposta; 
             dados NOT OK?
               redirect para mensagem de erro.
    
    Este processo pode ser feito num só script, não precisas de 3 ficheiros.
    Em caso algum deves colocar num form o endereço de e-mail do destinatário nem o mail server utilizado para envio da mensagem.
     
  3. peter alien

    peter alien Power Member

    desculpa a minha ignorância mas como poderei fazer isso num unico script em ASP ?
     
  4. slack_guy

    slack_guy Power Member

    Por exemplo, desta forma:
    Código:
    <%
    
      declaras uma variavel erro
    
      Se tens dados vindos do Post:
         valida os dados (se estão preenchidos, se o formato é o esperado...)
         dados correctos?
             SIM
                constroi texto do email
                envia email
                erro = OK
             NAO
                erro = NOT_OK
    
    %>
    
    Formulário HTML com 'action=nome_da_pagina.asp'.
    
    Algures no formulário terás um sítio onde mostras a resposta:
    <%
        se erro = OK
           mostra "Exito! o formulário foi enviado".
        se erro = NOT_OK
           mostra "Erro! o email não foi enviado porque ..."
    %>
    
    Depois de teres isto a funcionar, podes sempre melhorar: por exemplo, dizeres quais os campos que deram origem ao erro, assinalares com uma cor diferente os campos mal preenchidos, etc.
     

Partilhar esta Página