Muita gente procura na internet como fazer um formulário de e-mail (formmail) utilizando o PHP. Abaixo vou ensinar detalhadamente como montar um e tentar explicar cada parte do código.
Para começar, sempre é bom visitar o velho e querido site do PHP e verificar a documentação dele. Para quem não sabe, lá você tem todas as funções e tudo o que quiser saber sobre o PHP e começar a programar algumas besteirinhas até se tornar bom programador.
Vou colocar aqui o texto que foi retirado do Docs do PHP:
Descrição
bool mail ( string $to , string $subject , string $message [, string $additional_headers [, string $additional_parameters ]] )
Este é o comando que envia o e-mail. Pra quem não meche com programação, deve estar achando isso uma coisa do outro mundo, mas tenha calma, vou explicar tudo detalhadamente.
No código acima, onde tem “bool” e “string”, é a definição do tipo de informação será processada ali, se será texto, números, etc. No nosso caso o “bool” é pra saber se o comando é booleano, ou seja, só responde VERDADEIRO (consegue enviar o email normalmente) ou é FALSO (dá erro e não envia). Já no “string” ele informa que é TEXTO, ou seja, todos os dados que forem enviado nas variáveis dentro desta função, serão lidos como texto. É importante notar que somente pelo o email ser aceito pelo formmail, não significa que o email alcancará o destino esperado.
Agora vamos a explicação de cada variável (parâmetros) que recebe os dados do formulário:
Parâmetros
to – É o destinatário do e-mail, ou seja, quem vai receber a mensagem do formulário.
subject – o assunto. Obs.: não utilizar nada que possa utilizar mais de uma linha. Tente ser objetivo “Contato – nome do site”
message – a mensagem.
additional_headers (opcional) – Esta é normalmente usada para adicionar cabeçalhos extras (From, Cc, e Bcc). Nota: Quando enviando email, o email precisa conter um cabeçalho From. Este pode ser definido com o parâmetro additional_headers , ou um padrão pode ser definido no php.ini.
Um deslize fará com que resulte em uma mensagem de erro similar a Warning: mail(): “sendmail_from” not set in php.ini or custom “From:” header missing. O cabeçalho From define também Return-Path em Windows.
additional_parameters (opcional) – O parâmetro additional_parameters pode ser usado para passar um parâmetro adicional para o programa configurado para usa quando enviando email usando a configuração sendmail_path. Por exemplo, isto pode ser usado para definir o endereço do envelope remetente quando usando sendmail com a opção do sendmail -f.
Algumas observações importantes sobre a função mail().
- Vale a pena notar que a função mail() não é apropriada para grande volume de email em um loop. Esta função abre e fecha um socket SMTP para cada email, que não é muito eficiente. Para enviar uma grande quantidade de email, veja os pacotes » PEAR::Mail, e » PEAR::Mail_Queue.
- Email com anexos e tipos especiais de conteúdo (e.g. HTML) podem ser enviado usando esta função. Isto é melhorado com MIME-encoding – para mais informação, veja este » artigo da Zend ou as classes » PEAR Mime.
<form id=”formulario” name=”formulario” method=”post” action=”formmail.php”>
Nome: <input type=”text” name=”nome” id=”nome” /><br />
E-mail:<input type=”text” name=”email” id=”email” /><br />
Mensagem:<br /><textarea name=”mensagem” id=”mensagem”>
</textarea><br /><input type=”submit” name=”button” id=”button” value=”Enviar” />
</form>
$email = $_POST[’email’];
$mensagem = $_POST[‘mensagem’];
$assunto = “Contato – Nome do Site”;
$mensagem = “Nome: $nome \n E-mail: $email \n Mensagem: $mensagem”;
Queria ser COMO VOCÊ!
=***