CreativeHost
empresa
Empresa opinião de clientes Opinião política de uso Segurança webmail Webmail painel de controle Painel suporte Suporte
página inicial página inicial planos de hospedagem planos de hospedagem de sites serviços em internet serviços em internet contato hospedagem de sites contato hospedagem de sites assine hospedagem de sites assine hospedagem de sites

 

 
 
NMS - Formulário via E-mail em PHP

O script NMS já está ativo em todas as contas Linux. Ele está localizado no diretório cgi-bin de sua conta, sob o nome de nms.cgi, mas é altamente recomendável que você use outro nome para o script. Por razões de segurança, não é possível usar o nome formmail e suas variantes. É possível mudar o nome do script via um programa de FTP qualquer.

Para utilizá-lo, siga os passos abaixo:

1. Copie o modelo abaixo e crie uma página HTML com o nome desejado para o formulário (ex.: formulario.html) e faça o upload no diretório de sua preferência (dentro do www).

2. Substitua a parte da linha action "www.dominio.com.br" com o seu endereço seu site e"dominio@dominio.com.br" com o seu endereço de email que receberá os dados do formulário.

3. Crie uma segunda página HTML, com o nome de ok.html, que será a resposta apresentada ao enviar o formulário. Faça o upload desse arquivo junto ao formulario.html (dentro do www).


Modelo:

<html>
<head><title>Formulário de Contato by CreativeHost: Hospedagem de Site</title>
</head>
<body bgcolor="#FFFFFF">
<h1>Formulário de Contato</h1> Utilize esse formulário para receber e-mails.

<form method="post" action="http://www.seudominio.com.br/cgi-bin/nms.cgi">
<input type="hidden"name="redirect" value="http://www.dominio.com.br/ok.htm">
<input name="recipient" value="dominio@dominio.com.br" type="hidden">
<input name="required" value="recipient,email,realname,subject,message" type="hidden">
<input type="hidden" name="sort" value="order:recipient,email,realname,subject,message">
<input type="hidden" name="subject" value="Título do Formulário">

Nome: <input name="realname" size=25> Email: <input name="email" size=30> <br> <br>
Assunto: <input name="subject" size=30 > <br>
Mensagem :<br> <textarea name=message rows=8 cols=50> </textarea> <br>
<input type="submit" value="Envie sua mensagem" name="submit" >
<input type="reset" value="Limpar" name="reset">
</form>
<p align="right"> <font size="1" face="Verdana, Arial, Helvetica, sans-serif"><font face="Verdana, Arial, Helvetica, sans-serif" size="1">Formulário de Contato by <br>
<img src="http://www.creativehost.com.br/images/ch_selo.gif" width="94" height="15" border="0"> - <a href="http://www.creativehost.com.br">Hospedagem de Sites </a></font></p>
</body>
</html>

redirect - Preencha com a URL que deve ser apresentada após o envio do formulário.

order - Define a sequência/ordem em que os campos devem ser recebidos no e-mail.

required - É a lista dos campos que DEVEM ser preenchidos para que seja permitido o envio do formulário. Use os mesmos valores das instâncias name=**do seu formulário.

subject - Você pode determinar o que irá no título do e-mail que será enviado pelo formulário. Pode ser da forma como está no modelo acima ou você pode usar a seguinte linha em substituição:

<input type="hidden" name="subject" value="Título do Formulário">


Controle o NMS da seguinte forma:

No script nms.cgi, as variáveis a serem modificadas são somente estas, na área chamada USER CONFIGURATION SECTION, logo no começo do arquivo.

$postmaster = 'dominio@seudominio.com.br'; <<< Substitua por seu domínio real.
@referers = qw(www.seudominio.com.br seudominio.com.br);
@allow_mail_to = qw(dominio@seudominio.com.br);

O item referers determina de qual nome de domínio o script nms.cgi deve aceitar as requisições. É possível colocar mais de um domínio entre os parêntesis, separando-os por espaços.

O item allow_mail_to determina qual ou quais e-mails o script nms.cgi está autorizado a enviar os resultados postados. Também é possível colocar mais de um e-mail entre os parênteses, separando-os por espaços. Caso no formulário esteja um e-mail especificado que não esteja presente no script, o e-mail não será enviado.


Configurações avançadas do NMS


Configurando o envio para mais de um e-mail destinatário:

É possível que o formulário envie de uma vez para mais de um e-mail os dados postados. Para isso, é preciso modificar o script e o formulário, conforme abaixo.

No script nms.cgi, as variáveis a serem alteradas são:
$max_recipients = 5;
$mailprog = '/usr/sbin/sendmail -oi -t';
$postmaster = 'dominio@seudominio.com.br';
@referers = qw(www.seudominio.com.br);
@allow_mail_to = ();
@recipients = ();
%recipient_alias = ('multiplos' => 'dominio@seudominio.com.br,dominio@yahoo.com.br',);

O item max_recipients determina para quantos e-mails o formulário pode enviar mensagens. Ajuste o número para o tanto de e-mails que receberão os dados do formulário.

Neste caso, o item allow_mail_to deve ser deixado em branco, bem como o item recipients.

O item recipient_alias deverá conter o nome do alias, que é de sua escolha e no exemplo está como 'multiplos'. Este alias deve conter no script nms.cgi os e-mails para os quais o formulário deve enviar os dados postados.

E no formulário, a linha que indica para onde os e-mails devem ser enviados, deve ser a seguinte:

<input type="hidden" name="recipient" value="multiplos">

Usando o mesmo script com mais de um formulário:

O script NMS pode ser usado para trabalhar com vários formulários, usando o mesmo princípio de alias descrito acima. Basta que você crie grupos de aliases, cada um com um conjunto de e-mails diferentes.

Dessa forma, dependendo do formulário, ele usará o script NMS para enviar para um ou para outro grupo de endereços de e-mail. Neste caso, no script nms.cgi, as variáveis a serem alteradas são:

$max_recipients = 5;
$mailprog = '/usr/sbin/sendmail -oi -t';
$postmaster = 'dominio@seudominio.com.br';
@referers = qw(www.seudominio.com.br);
@allow_mail_to = ();
@recipients = ();
%recipient_alias = (
'clientes' => 'dominio@seudominio.com.br,dominio@yahoo.com.br',
'fornecedores' => 'compras@seudominio.com.br',
);

No formulário destinado aos clientes, a linha que indica para onde os e-mails devem ser enviados, deve ser a seguinte:

<input type="hidden" name="recipient" value="clientes">

Já em outro formulário, destinado aos fornecedores, a linha que indica para onde os e-mails devem ser enviados, deve ser a seguinte:

<input type="hidden" name="recipient" value="fornecedores">

NOTA: Há muitas possibilidades de configuração desse script de envio de e-mails. Existe um arquivo chamado README-NMS.txt, em português à sua disposição no seu diretório cgi-bin, para ser consultado quando necessário.

 
©2002-2009 - CreativeHost Networks Ltda Me - Hospedagem de sites em boas mãos