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

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 [email protected] 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.
 
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 value=spam_all_world@anymail_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.
 
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.
 
Back
Topo