Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Não dá erro, mas também não chega o email pra mim...
<?php
$emailEnviar = "teste@linksmonitorados.com.br";
$nome = $_POST['nome'];
$email = $_POST['email'];
$assunto = $_POST['assunto'];
$mensagem = $_POST['mensagem'];
if($_POST['enviar']){
mail("$emailEnviar","assunto","
Email do site ADUP por $nome:
Nome: $nome
Email: $email
Assunto: $assunto
--
Mensagem: $mensagem
");
}
?>
<form name="FrmContato" method="post" action="">
<label><div align="left"><span class="style18">Nome</span></div>
<input name="nome" type="text" size="30"/>
</p>
<label>
<br />
<span class="style18">Email</span><br />
<input name="email" type="text" size="30" />
</label>
<div align="left">
<input name="assunto" type="hidden" value="AdUp" />
</div>
<p align="left">
<label><span class="style18">Mensagem </span><br /></label>
<textarea name="mensagem" cols="25" rows="10"></textarea>
<input type="submit" name="enviar" value="ENVIAR" />
</p>
</form>
Obs. O código ta todo na mesma página, o php no inicio do script, e o form mais abaixo depois do <head>Ja está no ar, na locaweb, http://www.adup.com.br/contato.php
Tá dificil. Será que o hidenfield ta fazendo algum rolo aí ou nada ver?
Tenta assim:
if(isset($_SERVER['REQUEST_METHOD'] && $_SERVER['REQUEST_METHOD'] == 'POST'){
$emailEnviar = "teste@linksmonitorados.com.br";
$nome = $_POST['nome'];
$email = $_POST['email'];
$assunto = $_POST['assunto'];
$mensagem = $_POST['mensagem'];
mail("$emailEnviar","$assunto","
Email do site ADUP por $nome:
Nome: $nome
Email: $email
Assunto: $assunto
--
Mensagem: $mensagem
");
}usando esse código que você postou acima, obtive o seguinte erro:
Parse error: syntax error, unexpected T_BOOLEAN_AND, expecting ',' or ')' in /home/storage/4/a6/de/linksmonitorados/public_html/adup/contato.php on line 2
a linha 2 seria a linha do if
Precisa enviar os headers, se não os servidores da Locaweb vão bloquear:
http://wbruno.com.br/blog/2009/08/19/script-simples-de-formulario-de-contato/
Leia isso:
http://wiki.locaweb.com.br/pt-br/ERRO_451_funcao_mail%28%29_do_PHP
Tente usar os headers como o Wilian falou ai em cima, e detalhe, o e-mail de envio não pode ser o do usuário viu!?
>
Precisa enviar os headers, se não os servidores da Locaweb vão bloquear:
http://wbruno.com.br/blog/2009/08/19/script-simples-de-formulario-de-contato/
AEEEEEE, boa cara, gostei do material, muito interessante, vi que ta meio complexo ali, vou dar uma estudada amanhã que hoje to um bagaço, mais ja ajudou muito, :joia:
Se você pudesse colocar os headers nesse código pra mim ver seria interessante, tipo, eu to tentando entender e aprender também, e supondo que você tire do seu código e encaixe exatamente o que pode no meu, eu saberei digamos assim "o bloco que eu posso colocar ou não" tipo, eu imagino que os headers que você menciona são:
$headers = "MIME-Version: 1.1".PHP_EOL;
31. $headers .= "Content-type: text/plain; charset=iso-8859-1".PHP_EOL;
32. $headers .= "From: eu@seudominio.com".PHP_EOL; // remetente
33. $headers .= "Return-Path: eu@seudominio.com".PHP_EOL; // return-path
porém não sei se é só isso e se colocando só isso no meu vai fucionar, ou mesmo aonde entrar com isso.
Comparando os dois códigos e a alteração que você poderia fazer eu entenderia um pouco o que ta acontecendo.
As vezes eu fico atolado mesmo assim, mas depois que entra na cabeça aí ja era.
Obrigado mesmo cara! :D
Carlos Coelho, muitissimo obrigado. O form ja funciona, estou recebendo ele! :joia: :clap:
Agora só mais uma coisinha, preciso receber no corpo da mensagem o seguinte
Nome:
Email:
Mensagem:
porém eu só sei o básico:
mail ( string $to , string $subject , string $message [, string $additional_headers [, string $additional_parameters ]] )
Tipo, como eu faço pra colocar tudo isso dentro da string $message ????
Obrigado!
A propósito o código php esta assim:
<?php
$subject = $_POST['assunto'];
$from = 'site@adup.com.br';
$to = 'teste@linksmonitorados.com.br';
$bcc = null;
$cc = null;
$mensagem = $_POST['mensagem'];
$headers = sprintf( 'Date: %s%s', date( "D, d M Y H:i:s O" ), PHP_EOL );
$headers .= sprintf( 'Return-Path: %s%s', $from, PHP_EOL );
$headers .= sprintf( 'To: %s%s', $to, PHP_EOL );
$headers .= sprintf( 'Cc: %s%s', $cc, PHP_EOL );
$headers .= sprintf( 'Bcc: %s%s', $bcc, PHP_EOL );
$headers .= sprintf( 'From: %s%s', $from, PHP_EOL );
$headers .= sprintf( 'Reply-To: %s%s', $from, PHP_EOL );
$headers .= sprintf( 'Message-ID: <%s@%s>%s', md5( uniqid( rand( ), true ) ), $_SERVER[ 'HTTP_HOST' ], PHP_EOL );
$headers .= sprintf( 'X-Priority: %d%s', 3, PHP_EOL );
$headers .= sprintf( 'X-Mailer: PHP/%s%s', phpversion( ), PHP_EOL );
$headers .= sprintf( 'Disposition-Notification-To: %s%s', $from, PHP_EOL );
$headers .= sprintf( 'MIME-Version: 1.0%s', PHP_EOL );
$headers .= sprintf( 'Content-Transfer-Encoding: 8bit%s', PHP_EOL );
$headers .= sprintf( 'Content-Type: text/html; charset="iso-8859-1"%s', PHP_EOL );
mail( null, $subject, $mensagem, $headers );
?>Isso é o básico:
É só concatenação :seta: Operadores de String
<?php
$message = sprintf(
'Nome: %s<br/>
Email: %s<br/>
Mensagem: %s<br/>',
$_POST[ 'nome' ],
$_POST[ 'email' ],
$_POST[ 'mensagem' ]
);
?>Muito Obrigado gente, que bom que existem pessoas como vocês para nos ajudar!!! Carlos Coelho, você salvou meu dia e muitos outros dias, faz uma semana que to nessa mer$@...
Agora tudo funciona perfeitamente, também me ajudou agora no dim por msn o lambrusco aqui do iMasters.
Obrigado gente, pode dar como [Resolvido].
Ok, Bons estudos ;)
Tá testando localmente? Tem um servidor para enviar e-mails localmente? Testou no servidor?
:thumbsup: