O FormMail é um programa CGI usado como um gateway
padrão entre formulários em páginas HTML e o
e-mail na Internet.
Seu uso possibilita a qualquer um, mesmo sem conhecimento de
programação ou CGI, incluir formulários em suas
páginas que, quando preenchidos, enviarão mensagens a
qualquer endereço de e-mail na Internet.
INÍCIO RÁPIDO
Inclua na sua página o seguinte código HTML: Inclua na sua página,
onde quer que a imagem do contador apareça, o seguinte código
HTML:
<form action="/cgi-bin/fm" method=GET>
Campo 1: <input type=text name="campo1">
</form>
<input type=hidden name="recipient"
value="<nome>@centroin.com.br">
Campo 2: <input type=text name="campo2">
...
<input type=submit value="Enviar">
<input type=reset value="Limpar">
Obs: Não esqueça, porém, de trocar (na segunda linha) o
"<nome>" pelo seu endereço no CIP (ou trocar o
"<nome>@centroin.com.br" por qualquer endereço de
e-mail para qual você quer que o resultado do
formulário seja enviado).
ÍNDICE:
COMO FUNCIONA O FORMMAIL O FormMail se baseia em campos na sua página para enviar a mensagem
(veja "Mais informações" para saber onde obter, na rede,
mais informações sobre campos e formulários). É
definindo o valor de terminado campo, ou permitindo que o usuário que
lê sua página defina o valor preenchendo-o, que você dirige
o FormMail.
De todos os campos, apenas um é obrigatório para que o
FormMail funcione: o campo recipient.
INCLUINDO CAMPOS COM HTML
~ Definindo Formulários
<form action="<script>" method=GET>
O <script> deve ser substituído pelo
endereço onde o script CGI se encontra e method
pode ser GET ou POST (em maiúsculas!). No caso do
FormMail do WebCIP, action deve ser "/cgi-bin/fm". O
method pode ser GET ou POST.
Todas as informações contidas nos campos entre o
<form>...</form> serão enviadas para o
script especificado no atributo action. Assim, é
possível definir vários formulários, via
múltiplos <form>...</form>, numa mesma
página HTML, cada um deles enviando seus dados para um script
- ou um FormMail - diferente.
~ campos
<input type=<tipo> name=<nome> value=<valor>>
Onde <tipo> é o tipo do campo propriamente dito,
<name> é seu nome e <value> seu valor.
Dos tipos existentes, alguns são de especial interesse aos
usuários do FormMail, a saber:
Exemplo:
<input type=hidden name="recipient" * Este exemplo, se usado num formulário destinado ao FormMail,
fará com que os resultados sejam enviados, via e-mail, para
o endereço "webmaster@cip.com.br". Note que isto foi
definido pelo criador da página; ao usuário não
será dada a opção de mudar o destinatário e
o valor do campo sequer será mostrado.
Exemplo 1:
Assunto: <input type=text
name="subject" size=40> * Aqui, será fornecida ao usuário a oportunidade
de preencher os dois campos, nomeados "subject" e "idade".
O campo "subject" aparecerá com espaço para
visualização de 40 caracteres e o campo "idade"
não permitirá a digitação de mais que 2
caracteres.
Exemplo 2:
Area de interesse: <input
type=text name="area" value="Programacao de computadores">
* Neste exemplo, o usuário estará digitando no campo
"area". Como parte da inicialização do formulário,
o campo receberá o valor "Programação de computadores".
Exemplo:
<form action="/cgi-bin/fm"
action=GET> <input type=submit value="Vai!">
Experimente!
CAMPOS DO FORMMAIL Dos campos dos seus formulários, alguns são reconhecidos pelo
FormMail, outros são até requeridos.
Seguimos com os campos reconhecidos.
recipient Do inglês, destinatário, este é o único campo
obrigatório para se usar o FormMail - sem ele o programa não
funcionará.
é este campo que especifica o destinatário
para a mensagem com os
dados do formulário. Normalmente este campo é definido como
um campo hidden mas pode ser permitido que o
usuário o informe, o que, definitivamente, não é uma
boa idéia.
Muito provavelmente você definirá este campo como
hidden, tendo como valor seu endereço de e-mail.
subject
Se você não especificar um campo subject, a mensagem
será enviado com o subject "Resultado do
formulário no WebCIP".
Se você definir este campo como hidden,
todas as mensagens serão enviadas com o subject especificado.
Se for um campo text, quem preencher o
formulário poderá especificar o subject.
email Este campo deve permitir que o usuário informe o seu (dele) endereço
de e-mail para que você possa identificar quem efetivamente enviou
a mensagem.
Adicionalmente, a mensagem que você receberá terá este
endereço no campo "from:", facilitando uma possivel
correspondência com quem preencheu o formulário.
Não há sentido em definir este campo com outro tipo a
não ser text.
realname Neste campo você permite que o usuário informe seu nome real.
Isto é útil a propósito de identificação;
o FormMail incluirá esta informação no campo "from:"
da mensagem.
Não há sentido em definir este campo com outro tipo a
não ser text.
redirect Após o preenchimento e envio do formulário, o FormMail
enviará ao usuário uma página default com um texto
informando que os dados do formulário foram enviados com sucesso.
Se você preferir, você pode informar ao FormMail que
não envie o usuário para a página default, mas
sim para a página que você especificar no campo
redirect.
Atenção: o FormMail espera uma
referência completa ao endereço a ser
redirecionado. Além disso, só é possível
especificar o redirecionamento para documentos obtidos via HTTP. Em
outras palavras, é necessário especificar
"http://" ("http://web.cip.com.br/" se o documento
estiver no WebCIP, por exemplo) no endereço para onde o
usuário será redirecionado.
Veja a página de
exemplos.
required Você pode informar ao FormMail os campos do seu formulário
que são de preenchimento obrigatório. Isso evita que você
receba mensagens desnecessárias, com dados incompletos.
Se o usuário não preencher todos os campos
obrigatórios, o FormMail o notificará sobre o que ele
precisa preencher e apresentará um link para página
que contém o formulário incompleto.
Veja a página de
exemplos.
env_report
As variáveis de ambiente devem estar separadas por ","
(vírgula).
Definitivamente, variáveis de ambiente não acrescentam nada
à funcionalidade do FormMail mas pode lhe dar dados
importantes sobre quem preenche seus formulários.
De todas a váriaveis de ambiente - ou, se você não
está entendendo nada, de todos os valores possíveis para o
campo env_report - possíveis, as mais (senão
únicas) úteis são:
sort Este campo permite que você especifique a ordenação pela
qual deseja receber os campos na mensagem que lhe for enviada pelo FormMail.
Você pode especificar que o FormMail lhe envie os campos
ordenados em ordem alfabética ou especificar, manualmente, a ordem
desejada.
Se você não especificar este campo, a ordem em que os campos
aparecerão na mensagem dependerá do browser utilizado
pelo usuário e não será, necessáriamente, a
mesma ordem em que os campos aparecem na sua página.
Para ordenar os campos alfabeticamente, use "alphabetic" como
valor para este campo. Para escolher sua própria ordem, especifique
os campos na ordem desejada, separados por "," (vírgula)
e precedidos por "order:" (i.e.
"order:campo1,campo2,campo3&qupt;).
Veja a página de exemplos.
print_config
Contudo, o campo print_config serve para que você especifique
quais campos-chave quer que tenham seus valores listados na mensagem. Os
campos devem estar separados por vírgulas.
Veja a página de exemplos.
title
Esta opção não tem sentido - e será ignorada -
se você especificar o campo redirect.
return_link_url
Esta opção não tem sentido - e será ignorada -
se você especificar o campo redirect.
return_link_title
Esta opção não tem sentido - e será ignorada -
se você especificar o campo redirect.
background
Esta opção não tem sentido - e será ignorada -
se você especificar o campo redirect.
bgcolor
text_color
link_color
vlink_color
Antes de iniciarmos na lista de campos reconhecidos pelo FormMail,
vamos passar por uma breve recapitulação sobre campos e
formulários em HTML.
Define-se um formulário com a tag
<form>...</form>. Segue uma sintaxe mais completa:
...
</form>
Um campo é definido usando a seguinte construção:
value="webmaster@cip.com.br">
Alguns atributos interessantes para campos text:
Idade: <input type=text name="idade" maxlength=2>
<input type=hidden name="recipient"
value="webmaster@cip.com.br">
<p>
Formulário de teste, enviado para webmaster@cip.com.br
<br><br>
Nome: <input type=text name="nome"><br>
Idade: <input type=text name="idade" size=2
maxlength=2><br>
Sexo: <input type=text name="sexo" value="f"
size=1 maxlength=1><br>
O campo subject define o subject, propriamente dito, que
constará no cabeçalho da mensagem enviada quando o
formulário for preenchido.
Informa ao FormMail que deve ser informados na mensagem os dados
sobre algumas variáveis de ambiente do sistema, no momento em que o
formulário for preenchido.
Normalmente, campos considerados chave para o FormMail
não são incluidos na listagem de campos, no corpo da
mensagem. Campos como email e subject são incluídos automaticamente
no cabeçalho da mensagem o que torna, na maioria das vezes,
desnecessária sua repetição.
Se você não especificar um campo
redirect, o campo title pode ser usado para definir o
título da página para qual o usuário será
enviado, após o preenchimento do formulário.
Se você não especificar um campo
redirect, o campo return_link_url pode ser usado para
definir o endereço do link que será apresentado na
página default apresentada após o preenchimento do
formulário.
Se você não especificar um campo
redirect, o campo return_link_title pode ser usado para
definir o título do link que será apresentado na
página default apresentada após o preenchimento do
formulário.
Se você não especificar um campo
redirect, o campo background pode ser usado para definir
o endereço de uma imagem que deve ser usada como imagem de fundo na
página default apresentada após o preenchimento do
formulário.
Similar ao campo background, definindo,
porém, a cor de fundo (no mesmo formato do atribudo bgcolor
da tag <body>...</body>) da página resultante.
Similar ao campo background, definindo,
porém, a cor do texto (no mesmo formato do atribudo bgcolor
da tag <body>...</body>) da página resultante.
Similar ao campo background, definindo,
porém, a cor dos links (no mesmo formato do atribudo
bgcolor da tag <body>...</body>) da página
resultante.
Similar ao campo background, definindo,
porém, a cor dos links "visitados" (no mesmo
formato do atribudo bgcolor da tag
<body>...</body>) da página resultante.