Características do formmail
O formmail permite que você receba os dados
de formulários de páginas de seu site sem ter que
realizar nenhuma programação em CGI.
Para usar o formmail, carregue o arquivo formmail.pl
para o diretório cgi-bin dentro do seu site no diretório
( www ou public_html). Para
baixar uma cópia do formmail.pl clique aqui.
Não mude o nome do arquivo, mantenha-o exatamente "formmail.pl".
Importante:
Lembre-se de fazer a transferência do script pelo modo ASCII/texto.
Se o arquivo for transmitido em modo binário, você
vai receber um erro 500 Internal server error do servidor web
ao enviar seu formulário. Nesse caso refaça a transmissão
em modo ASCII/texto. Outra causa comum desse erro é não
ter configurado as permissões de acesso com código
755. Veja detalhes a seguir.
Use o seu programa FTP para alterar as características
de permissão de acesso ao arquivo formmail.pl em seu diretório
cgi-bin para 755. Consulte a documentação de seu
programa FTP para saber como alterar as permissões de arquivos
de sua conta.
O seu arquivo formmail.pl está pronto
para ser chamado através de sua página HTML. Crie
um formulário usando qualquer ferramenta de criação
de páginas web (ex.: Hot Dog, Homesite, FrontPage, etc.).
Um exemplo mínimo de código HTML que chama o formmail
é o seguinte:
<form method="post"
action="/cgi-bin/formmail.pl">
<input type="hidden" name="recipient" value="seu.email@algum.domínio">
Escreva seu nome: <input type="text" name="nome">
<input type="submit" value="Enviar">
</form>
Você altera o comportamento do formmail
ao usar campos "hidden" no seu formulário. Existe
um campo de formulário que é obrigatório
para que o formmail funcione perfeitamente. É o campo "recipient".
Campo recipient (destinatário):
Esse campo permite que você especifique para que endereço
você deseja que os dados do formulário sejam enviados.
Geralmente você vai querer configurar esta opção
como um campo hidden que vai ter como valor o seu endereço
de e-mail.
Sintaxe:
<input type=hidden name="recipient"
value="nome@seuprovedor.com">
Campos opcionais
Campo subject (assunto):
O campo subject vai permitir que você especifique o assunto
do e-mail que lhe será enviado após o formulário
ser preenchido. Se você não tiver essa opção
configurada, o script irá enviar o e-mail com o título
padrão: WWW Form Submission.
Sintaxe:
Se você deseja escolher o assunto a ser enviado:
<input type=hidden name="subject"
value="seu assunto">
Se você deseja que o usuário defina
o assunto:
<input type=text name="subject">
Campo email:
Este campo permite ao usuário especificar qual é
seu e-mail de retorno. Se você quiser retornar um e-mail
para o usuário, é recomendável que você
inclua esse campo no formulário e permita que o usuário
o preencha. O e-mail do usuário vai aparecer no "De:"
ou "From:" no seu programa de e-mail.
Sintaxe:
<input type=text name="email">
Campo realname (nome verdadeiro):
O campo realname possibilita o usuário entrar com o seu
próprio nome. Este campo é útil para a identificação
do usuário que enviou os dados do formulário. Este
dado também irá ser visível no "De:"
ou "From:" no seu programa de email.
Sintaxe:
<input type=text name="realname">
Campo sort (ordenação):
Este campo permite que você escolha a ordem em que as suas
variáveis vão aparecer no e-mail que o formmail
vai gerar. Você pode escolher ter os campos ordenados alfabeticamente
ou especificar uma série de campos que ditam como as variáveis
vão ser ordenadas no seu e-mail. Se você não
usar este campo, o formmail vai ordenar de acordo com a chegada
de informações que o browser enviou ao script, e
nem sempre isso significa a mesma ordem em que aparecem no formulário.
Se quiser você estabelecer a ordem dos campos, você
deve incluir o comando "order:" como a primeira coisa
da lista e depois segui-lo dos nomes das variáveis na ordem
em que você deseja que sejam apresentadas na sua mensagem
de e-mail, separados por vírgulas (veja exemplo):
Sintaxe:
Para ordenar alfabeticamente:
<input type=hidden name="sort"
value="alphabetic">
Para ordenar de acordo com uma série de
variáveis:
<input type=hidden name="sort"
value="order:var1,var2,var3,etc.">"
Campo redirect (redirecionar):
Este comando se presta a redirecionar o usuário para uma
URL após feito o envio dos dados do formulário,
ao invés de lhe mostrar a resposta padrão.
Sintaxe:
Para escolher a URL à qual o usuário será
enviado:
<input type=hidden name="redirect"
value="http://seunome.com/obrigado.htm">
Para permitir que o usuário escolha a
URL a que irá após enviar o formulario:
<input type=text name="redirect">
Campo required (obrigatório):
Você pode agora exigir que certos campos do seu formulário
sejam preenchidos antes que o usuário possa enviar o formulário
com sucesso. Simplesmente liste neste campo todas as variáveis
que você quer que sejam obrigatórias. O usuário
será notificado a respeito das variáveis que ele
deixou de preencher e um link de retorno ao formulário
lhe será apresentado.
Sintaxe:
Se você deseja que o nome, telefone e e-mail sejam obrigatoriamente
preenchidos no seu formulário (por exemplo, para que você
possa entrar em contato com o usuário), use a seguinte
sintaxe:
<input type=hidden name="required"
value="email,telefone,nome">
Campo env_report (variáveis de ambiente):
Permite que você obtenha em seu e-mail o valor de variáveis
de ambiente de execução CGI. Muito útil se
você deseja que browser foi utilizado, de qual domínio
se acessou e outras variáveis de ambiente CGI. A seguir
uma pequena lista variáveis que podem ser úteis:
• REMOTE_HOST: nome do host que enviou
a solicitação.
• REMOTE_ADDR: endereço IP do host remoto que fez
a solicitação.
• HTTP_USER_AGENT: o browser que o cliente está usando
para enviar a solicitação. Formato geral: software/versãodabiblioteca/versão.
Sintaxe:
Se você deseja descobrir qual o nome do host e o browser
pelos quais se fez o pedido, configure da seguinte forma:
<input type=hidden name="env_report"
value="REMOTE_HOST,HTTP_USER_AGENT">
Campo title (título):
Esse campo especifica o título e o cabeçalho da
página que aparece quando você não especifica
uma página para redirecionar (campo redirect).
Sintaxe:
se você quiser o título "Resultado do formulário
de pesquisa":
<input type=hidden name="title"
value="Resultado do formulário de pesquisa">
Campo return_link_url (URL do link de retorno)
Escreva a URL do link que parece no final da página de
resposta do envio do formulário. Pode ser, por exemplo,
a página principal de seu site.
Sintaxe:
<input type=hidden name="return_link_url"
value="http://seu.domínio/">
Campo return_link_title (texto do link de retorno):
Esse é o nome do link de retorno da página de confirmação
do envio do formulário. O campo return_link_url define
a URL do link.
Sintaxe:
<input type=hidden name="return_link_title"
value="Retornar à página principal">
Campo background (figura de fundo):
Aqui você diz qual o arquivo de figura de fundo da página
de resultado que aparece após o envio do formulário.
Só é preciso preencher este campo se você
não pediu para redirecionar (campo redirect).
Sintaxe:
<input type=hidden name="background"
value="http://seu.domínio/figuras/fundo.gif">
Campo bgcolor (cor de fundo):
É a cor do fundo da página de confirmação
de envio do formulário. Não use esse campo se você
pediu para redirecionar.
Sintaxe:
para fundo branco:
<input type=hidden name="bgcolor"
value="#FFFFFF">
Campo text_color (cor do texto):
Funciona como o bgcolor, com a diferença de que vai mudar
a cor do texto da página.
Sintaxe:
para cor do texto preta:
<input type=hidden name="text_color"
value="#000000">
Campo link_color (cor do link):
Muda a cor dos links da página de confirmação
do envio do formulário. Não é necessário
especificar se você pediu para redirecionar.
Sintaxe:
para link vermelho:
<input type=hidden name="link_color"
value="#FF0000">
Campo vlink_color (cor de link visitado):
Cor dos links já visitados da página de confirmação
de envio. Não preencha se você pediu para redirecionar.
Sintaxe:
para cor de link visitado azul:
<input type=hidden name="vlink_color"
value="#0000FF">
Campo alink_color (cor de link ativo):
Cor de link ativo (que está sendo clicado) da página
de confirmação de envio.
Sintaxe:
para cor de link ativo amarela:
<input type=hidden name="alink_color"
value="#00FFFF">