Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

mdfidelis

Formulário não envia

Recommended Posts

Ele até dá a mensagem de que o e-mail foi enviado, porém nada de chegar na caixa. ( testei com varios e-mails )

Poderiam me ajudar ?

contact.php

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    if(!empty($_POST['contactname']) && !empty($_POST['contactemail']) && !empty($_POST['contactmessage'])) {
	$to = 'email@e-mail.com'; // Your e-mail address here.
	$body = "\nName: {$_POST['contactname']}\nEmail: {$_POST['contactemail']}\n\n\n{$_POST['contactmessage']}\n\n";
	mail($to, "Message from yoursite.com", $body, "From: {$_POST['contactemail']}"); // E-Mail subject here.
    }
}
?>

formulario.html

<form data-selector="form" action="scripts/contact.php" role="form" id="contact_form" novalidate="novalidate">
							<div class="form-group">
								<input class="form-control" id="contact_name" placeholder="Nome Completo" name="name" type="text">
							</div>
							<div class="form-group">
								<input class="form-control" id="contact_email" placeholder="Endereço de E-mail" name="email" type="email">
							</div>
							<div class="form-group">
								<textarea class="form-control" rows="4" placeholder="Digite sua mensagem" id="contact_message" name="message"></textarea>
							</div>
							<button src="images/uploads/logo_white_site.png" style="color: rgb(255, 255, 255); font-size: 20px; background-color: rgb(31, 127, 236);" data-selector="Footer" type="submit" id="contact_submit" data-loading-text="•••" class="btn btn-lg btn-block btn-warning"><i data-selector=".icon" class="icon icon-note"></i>Enviar</button>
						</form>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia !

Geralmente vai para caixa de SPAM. Se você estiver tentando enviar email de sua máquina local não vai funcionar, a não ser que esta tenha um servidor de email instalado.

Recomendo você utilizar a class PHPMailer para envio de emails autenticados.

Exemplo: http://www.devmedia.com.br/enviando-e-mail-com-o-phpmailer/9642

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tem várias correções a fazer.

Está faltando na linha do form a declaração method="post". Então ficaria assim:
<form data-selector="form" method="post" action="scripts/contact.php" role="form" id="contact_form" novalidate="novalidate">

Você estava checando no contact.php pelo id do campo no formulário. deve se checar pela tag "name".

novo código:

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
if( (!empty($_POST['name'])) && (!empty($_POST['email'])) && (!empty($_POST['message']))) {
echo $_SERVER['REQUEST_METHOD'];
$to = 'email@email.com'; // Your e-mail address here.
$body = "\nName: {$_POST['name']}\nEmail: {$_POST['email']}\n\n\n{$_POST['message']}\n\n";
echo mail($to, "Message from yoursite.com", $body, "From: {$_POST['email']}"); // E-Mail subject here.
}
}
Espero ter ajudado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tem várias correções a fazer.

Está faltando na linha do form a declaração method="post". Então ficaria assim:

<form data-selector="form" method="post" action="scripts/contact.php" role="form" id="contact_form" novalidate="novalidate">

Você estava checando no contact.php pelo id do campo no formulário. deve se checar pela tag "name".

novo código:

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
if( (!empty($_POST['name'])) && (!empty($_POST['email'])) && (!empty($_POST['message']))) {
echo $_SERVER['REQUEST_METHOD'];
$to = 'email@email.com'; // Your e-mail address here.
$body = "\nName: {$_POST['name']}\nEmail: {$_POST['email']}\n\n\n{$_POST['message']}\n\n";
echo mail($to, "Message from yoursite.com", $body, "From: {$_POST['email']}"); // E-Mail subject here.
}
}
Espero ter ajudado

Anda nada, o estranho que o form dá mensagem de enviada, mais não chega na caixa!

Estou enlouquecendo e meu cliente está querendo me matar rs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já que insiste em fazer dessa forma, veja o exemplo bemmm simples:

$para='contato@logicaestatistica.com.br';

$headers = "MIME-Version: 1.0\r\n"."Content-type: text/html; charset=iso-8859-1\r\n".
   "From: 'Contato' <".$para.">\r\n".
   "Reply-To: emailderesposta@provedor.com\r\n" .
   "To: 'Client' <".$para.">\r\n".
   "Date: ".date("r")."\r\n".
   "Subject: Enviando email com PHP\r\n";

$corpo='Corpo do texto';

if(mail($para,$assunto,$corpo,$headers))
    {
        print 'Obrigado ! Sua Mensagem foi enviada com sucesso !!';
        
     }else{
         
         print 'Falha ao enviar mensagem.';
         
     }

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas reforço o que já foi dito mais de uma vez: use PHPMailer! Se o objetivo de não usar essa classe for que você está tentando aprender como funciona um envio de e-mails via PHP e tals, qual seria, então, a razão pela qual você não quer utilizar essa classe?

Compartilhar este post


Link para o post
Compartilhar em outros sites

A função mailer não funciona no localhost

Agora a dica que dou também, use phpMailer, tu consegue autenticar o smtp, assim ele não vai pra spam

Função

mail()

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal Agora está enviando, porem não vai os dados de quem preencheu.

PHP

<?php
 
require_once('mail.php');
require_once('Mail/mime.php');
 
$text = 'Versao texto do email';
$html = '<html><body>Versao HTML do email</body></html>';
$crlf = "\n";

$mime = new Mail_mime($crlf);
/* Enviar com anexo.
$mime->addAttachment('/home/file.zip', 'text/plain');
*/
$mime->setTXTBody($text);
$mime->setHTMLBody($html);
 
$body = $mime->get();
$recipients = array(
    'carlos@cbassessoria.com'
);
 
$headers['From'] =  'carlos@cbassessoria.com';
$headers['To'] = 'carlos@cbassessoria.com';
/* Enviar com c�pia.
$headers['Cc'] = 'email2@seudominio.com.br';
$headers['Bcc'] = 'email3@seudominio.com.br';
*/
$headers['Subject'] = 'E-mail Recebido pelo Site!';
$headers = $mime->headers($headers);
 
$params['host'] = 'mail.hostingzone.com.br';
$params['port'] = '25';
$params['auth'] = TRUE;
$params['username'] = 'carlos@cbassessoria.com';
$params['password'] = '*****';
 
$mail = Mail::factory('smtp', $params);
 
$rs = $mail->send($recipients, $headers, $body);
 
if (PEAR::isError($rs)) {
    echo $rs->getMessage()."\n";
} else {
	echo "E-mail enviado!";
}
 
?> 

FORM

<form data-selector="form" method="post" action="scripts/email.php" role="form" id="contact_form" novalidate="novalidate">
                            <div class="form-group">
								<input class="form-control" id="contact_name" placeholder="Nome Completo" name="name" type="text">
							</div>
							<div class="form-group">
								<input class="form-control" id="contact_email" placeholder="Endereço de E-mail" name="email" type="email">
							</div>
							<div class="form-group">
								<textarea class="form-control" rows="4" placeholder="Digite sua mensagem" id="contact_message" name="message"></textarea>
							</div>
							<button src="images/uploads/logo_white_site.png" style="color: rgb(255, 255, 255); font-size: 20px; background-color: rgb(31, 127, 236);" data-selector="Footer" type="submit" id="contact_submit" data-loading-text="•••" class="btn btn-lg btn-block btn-warning"><i data-selector=".icon" class="icon icon-note"></i>Enviar</button>
						</form>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você precisa recuperar as informações do formulário e colocar em uma dessas duas variáveis:

$text = 'Versao texto do email';
$html = '<html><body>Versao HTML do email</body></html>';

e como eu faço isso ? por favorrr

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.