| |
Usando o FormMail
Início rápido
Inclua na sua página o seguinte fragmento de HTML: <form
action="/cgi-bin/fm" method=GET>
<input type=hidden name="recipient" value="<nome>@centroin.com.br">
Campo 1: <input type=text name="campo1">
Campo 2: <input type=text name="campo2">
...
<input type=submit value="Enviar">
<input type=reset value="Limpar">
</form>
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
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.
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.
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 action="<script>" method=GET>
...
</form>
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.
Um campo é definido usando a seguinte construção:
<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:
Campos hidden (do inglês, escondidos) não
são apresentado aos usuários no momento de apresentação
da página. Ao invés, eles existem para forçar
a existência de um campo e, opcionalmente, atribuir-lhe um valor.
Exemplo:
<input type=hidden name="recipient" value="webmaster@cip.com.br">
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.
Campos text (textos) servem, como o próprio nome
diz, para textos.
Alguns atributos interessantes para campos text
- size
- Este atributo define o tamanho, em caracteres, que o browser
deve reservar para a apresentação do texto. Caso
o usuário digite mais caracteres do que o cabe no espaço
reservado, todo o texto será deslocado - visualmente -
para a esquerda.
- maxlength
- Define o número máximo de caracteres permitido
no campo. O usuário não conseguirá digitar
mais caracteres do que especificado neste atributo.
Exemplo:
Assunto: <input type=text name="subject"
size=40>
Idade: <input type=text name="idade" maxlength=2>
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.
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".
Campos submit (do inglês, processar, enviar)
é, sem dúvida, o principal e mais importante para o
uso do FormMail. Aliás, campos submit são,
na verdade, primordiais para qualquer formulário.
Por quê?
Porque é a escolha deste campo que finaliza o preenchimento
do formulário. Normalmente, os browsers (programas
de visualização de páginas HTML, o programa
que você está - deve estar - usando no momento) apresentam
campos submit como um "botão pressionável".
Pois a "pressão" deste "botão"
indica que o formulário já está devidamente
preenchido e deve ser enviado.
Exemplo:
<form action="/cgi-bin/fm" action=GET>
<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>
<input type=submit value="Vai!">
Este exemplo, um fragmento completo de HTML pronto
para funcionar com o FormMail, seria apresentado como:
Experimente!
Como os campos submit, campos reset (do inglês,
limpar, reinicializar) normalmente são apresentados
no estilo "botão pressionável" e fazem com
que o formulário seja reinicializado, fazendo com que seus
campos recebam seus valores default (aqueles especificados
pelo atributo value) ou fiquem em branco.
Dos campos dos seus formulários, alguns são reconhecidos
pelo FormMail, outros são até requeridos.
Seguimos com os campos reconhecidos.
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.
O campo subject define o subject, propriamente dito,
que constará no cabeçalho da mensagem enviada quando
o formulário for preenchido.
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.
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.
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.
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.
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.
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.
As variáveis de ambiente devem estar separadas por ","
(vírgula).
Variáveis de ambiente
Está fora do escopo deste texto discutir o que venha
a ser variáveis de ambiente do sistema mas, a grosso modo,
entenda-as como um conjunto de valores que descreve o ambiente no
qual o script está sendo executado.
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:
- REMOTE_HOST
- O nome da máquina de onde foi preenchido o formulário.
- REMOTE_ADDR
- O endereço IP da máquina de onde foi preenchido
o formulário.
- HTTP_USER_AGENT
- O browser que o usuário usou para preencher o
formulário. Tem a forma: "nome-do-software/versão
biblioteca(s)/versão(ões)"
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;).
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.
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.
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.
Esta opção não tem sentido - e será
ignorada - se você especificar o campo redirect.
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.
Esta opção não tem sentido - e será
ignorada - se você especificar o campo redirect.
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.
Esta opção não tem sentido - e será
ignorada - se você especificar o campo redirect.
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.
Esta opção não tem sentido - e será
ignorada - se você especificar o campo redirect.
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.
Similar ao campo background, definindo,
porém, a cor do link "ativo" (no mesmo formato
do atribudo bgcolor da tag <body>...</body>)
da página resultante.
Seguem endereços onde mais informações sobre
assuntos tratados neste documento podem ser encontradas:
- HTML, formulários
- FormMail
|