Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
oi pessoal será que alguem pode me dar uma luz... eu fiz um site em html que contem um formulario simples, onde o usuario digita os dados e ao clicar em eviar esses dados são redirecionados para um email. já postei uma vez ele aqui mas inda não to conseguindo resolver o problema.
segue modelo em html e php
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html class="translated-ltr"><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>EFFCOM Marketing & Publicidade</title>
<link rel="stylesheet" href="./novo_files/style1.css" type="text/css" media="screen">
<!--[if lte IE 6]>
<link rel="stylesheet" href="/css/ie6.css" type="text/css" media="screen">
<![endif]-->
<script language="JavaScript">
function MM_reloadPage(init) { //reloads the window if Nav4 resizedelse if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
</script>
<script type="text/javascript">
function checkEmail (strng) {
var flagError = false;
var error="";
if (strng == "") {
error = "O endereço de e-mail deve ser preenchido.";
flagError = true;
}
if (!flagError) {
var illegalChars = /(@.*@)|(@\.)|(@\-)|(@_)(\.@)|(\-@)|(\.\.)|(^\.)|(\.$)|(\.\-)|(\._)|(\-\.)|(_\.)|(^_)|(_$)|(_\-)|(\-\-)|(^\-)|(\-$)|(\-_)/;
if (strng.match(illegalChars)) {
error = "O endereço de e-mail contém caracteres inválidos.";
flagError = true;
}
}
if (!flagError) {
var emailFilter = /^\S+\@(\[?)[a-zA-Z0-9_\-\.]+\.([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
if (!(emailFilter.test(strng))) {
error = "O endereço de e-mail não está em um formato válido.";
flagError = true;
}
}
if (!flagError) {
var emailFilter = /^([a-zA-Z0-9\@_\-\.\+]+)$/;
if (!(emailFilter.test(strng))) {
error = "O endereço de e-mail não está em um formato válido.";
flagError = true;
}
}
if (flagError) {
window.alert(error);
}
return !flagError;
}
</script>
<body><form name="form" method="post" action="envia.php" enctype="multipart/form-data">
<div class="cont">
<ul>
<li>Av. Luis Saldanha Rodrigues, 1237<br> Nova Ourinhos, Ourinhos-SP Brasil<br>
CEP: 19907-510<br>Fone:
+ 55 14 3322.2447<br>
> Cell: + 55 14 9604.6006<br>
</li>
<!--<li style="color: #CCC; font-family: Ariel, sans-serif;">romerof@uol.com.br<br>
effcom@hotmail.com</li>-->
<li>Nome: <input name="nome" type="text" value="Nome">
<br>
E-mail:
<input name="mail" type="text" value="Email">
<br>
Assunto:
<input name="assunto_msg" type="text" value="Sobre">
<br>
Menssagem<br><textarea name="contato" cols="30" rows="5" value="Menssagem..."></textarea>
<br>
<input name="enviar" type="submit" value="enviar"> <input name="limpar" type="reset" value="limpar">
</li>
</ul>
</div>
</form>
</body></html>
aqui está o envia.php
<?php
// chamo class phpmailer
require("libs/class.phpmailer.php");
// dados da pessoa q quer mandar mensagem
$mail = new PHPMailer();
$mail->SetLanguage("br", "libs/"); // ajusto a lingua a ser utilizadda
$mail->SMTP_PORT = "587"; // ajusto a porta de smt a ser utilizada. Neste caso, a 587 que o GMail utiliza
$mail->IsSMTP(); // ajusto o email para utilizar protocolo SMTP
$mail->Host = "smtp.gmail.com"; // especifico o endereço do servidor smtp do GMail
$mail->SMTPAuth = true; // ativo a autenticação SMTP, no caso do GMail, é necessário
// dados do seu email da pessoa q recebe os dados do formulario
$assunto = "Formulário Effcom"; //Assunto do e-mail q vai chegar na sua caixa de mensagem
$email = "effcom.mkt.publicidd@gmail.com"; //E-mail que você gostaria de receber os resultados dos formmail's <<<<EMAIL DA PESSOA QUE RECEBE>>>>
$senha = "effcommp";// senha da pessoa que ira receber mensagem
$assunto_auto = "$nome, Sua Mensagem Foi Recebida Com Sucesso!";//Assunto da Auto Resposta
$website = "effcom";//Nome do Website
$mensagem_auto = "Obrigado por entrar em contato conosco $nome!\nO mais breve possivel estaremos respondendo sua mensagem!!!\n\n";
$assunto_auto = "Recebemos sua mensagem";
// Aqui ficam os dados do formulário que serão enviados!!! dados da pessoa q quer mandar mensagem
$nome = $_POST["nome"];//Campo Nome do Formulário
$mail = $_POST["mail"];//Campo E-mail do Formulário <<<<EMAIL DA PESSOA QUE ENVIA>>>>
$assunto_msg = $_POST["assunto_msg"];//Campo Mensagem do Formulário
$contato = $_POST["contato"];//Campo Contato do Formulário
$mensagem = "Formulário enviado por $nome no Website $website:\n\n";//Inicio da Mensagem enviada!
$mensagem .= "Nome: $nome\n";//Nome do Contato
$mensagem .= "E-mail: $mail\n";//Nome do Contato
$mensagem .= "Assunto: $assunto_msg\n";//Assunto do Contato
$mensagem .= "Mensagem: $contato";//Mensagem Enviada do Contato
//não modifique esta linha, pois é ela que envia a mensagem!!!
@mail($mail, $assunto, $mensagem, "From: $mail");
//não modifique esta linha, pois é ela que envia a auto_resposta!!!
@mail($mail, $assunto_auto, $mensagem_auto, "From: $email");
header("Sua Mensagem foi enviada com sucesso!");
?>
eu já tentei resolver com quem entende e ainda assim não deu certo se alguem puder me ajudar agradeço.
>
Tenta isso aqui
<?php
// chamo class phpmailer
require("libs/class.phpmailer.php");
if (isset($_POST['enviar'])) {
$nome = $_POST["nome"]; //Campo Nome do Formulário
$mail = $_POST["mail"]; //Campo E-mail do Formulário <<<<EMAIL DA PESSOA QUE ENVIA>>>>
$assunto_msg = $_POST["assunto_msg"]; //Campo Mensagem do Formulário
$contato = $_POST["contato"]; //Campo Contato do Formulário
$phpmail = new PHPMailer();
$phpmail->IsSMTP(); // envia por SMTP
$phpmail->Host = "localhost"; // SMTP servers
$phpmail->IsHTML(true);
$phpmail->From = $mail;
$phpmail->FromName = $nome;
$phpmail->AddAddress("effcom.mkt.publicidd@gmail.com");
$phpmail->Subject = "Formulário Effcom";
$phpmail->Body .= '<b>Nome:</b> ' . $_POST['nome'] . '<br/>';
$phpmail->Body .= '<b>E-mail:</b> ' . $_POST['email'] . '<br/>';
$phpmail->Body .= '<b>Assunto:</b> ' . $assunto_msg;
$phpmail->Body .= "<br/><b>Mensagem:</b><br/>" . $contato;
$enviar = $phpmail->Send();
if ($enviar) {
echo '<span class="sucesso">Mensagem enviada com sucesso!Em breve retornaremos.</span>';
} else {
echo '<span class="erro">Ocorreu um Erro, tente novamente mais tarde!</span>';
}
}
PS: não esquece de muda a senha do teu e-mail, tem muita gente mau intencionada por ai.
Se for posta algum codigo com a senha novamente troque ela por ****.. :D
Abrass
vlw mas o que é isso ?
$phpmail->From = $mail;
$phpmail->FromName = $nome;>
vlw mas o que é isso ?
$phpmail->From = $mail;
$phpmail->FromName = $nome;
Seguinte, no arquivo que você postou aqui, você utilizava a class phpmailer somente pra autentica o e-mail, e para o envio estava utilizando o próprio mail do PHP.
Então nesse arquivo que eu postei, eu utilizei a class phpmailer pra autentica o e-mail e também pra enviar ele.
Qualquer coisa consulte o site da classe PHPMailer. :D
Só pra constar.. =)
$phpmail->From = $mail; // indica o endereço de e-mail de quem envio a mensagem
$phpmail->FromName = $nome; // nome de quem enviou a mensagem
>
>
vlw mas o que é isso ?
$phpmail->From = $mail;
$phpmail->FromName = $nome;
Seguinte, no arquivo que você postou aqui, você utilizava a class phpmailer somente pra autentica o e-mail, e para o envio estava utilizando o próprio mail do PHP.
Então nesse arquivo que eu postei, eu utilizo a class phpmailer pra autentica o e-mail e também pra enviar ele.
Qualquer coisa consulte o site da classe PHPMailer. :D
ok entendi mas nesse
$phpmail->From = $mail;
$phpmail->FromName = $nome;
fica assim mesmo ou eu devo colocar alguma coisa, substituir var $mail e $nome por algum email e nome?
fica assim mesmo não muda nada?
>
$phpmail->From = $mail;
$phpmail->FromName = $nome;
fica assim mesmo ou eu devo colocar alguma coisa, substituir var $mail e $nome por algum email e nome?
fica assim mesmo não muda nada?
Veja bem, o From e FromName passam o e-mail e nome de quem enviou a mensagem correto?
Por isso passamos os valores de $mail e $nome, porque estamos passandos os valores que o usuario colocou lá no formulário..
Veja
$nome = $_POST["nome"]; //Campo Nome do Formulário
$mail = $_POST["mail"]; //Campo E-mail do Formulário <<<<EMAIL DA PESSOA QUE ENVIA>>>>
=)
rs vlw não vi em cima obrigada mais uma coisa aqui o que é que vai ?
$phpmail->Host = "localhost"; // SMTP servers
>
rs vlw não vi em cima obrigada mais uma coisa aqui o que é que vai ?
$phpmail->Host = "localhost"; // SMTP servers
Ai depende da sua hospedagem, a maioria(que eu conheço pelo menos) utiliza localhost mesmo, mas em alguns casos você precisa colocar mail.seudominio.com.br
Da forma que esta setado a autenticação eu utilizo sem problemas na Locaweb, Insite(que agora pertence a UOL) e Dreamhost.
Qualquer coisa, entre em contato com o suporte da sua hospedagem que eles te informam tudo certinho.. =)
>
>
rs vlw não vi em cima obrigada mais uma coisa aqui o que é que vai ?
$phpmail->Host = "localhost"; // SMTP servers
Ai depende da sua hospedagem, a maioria(que eu conheço pelo menos) utiliza localhost mesmo, mas em alguns casos você precisa colocar mail.seudominio.com.br
Da forma que esta setado a autenticação eu utilizo sem problemas na Locaweb, Insite(que agora pertence a UOL) e Dreamhost.
Qualquer coisa, entre em contato com o suporte da sua hospedagem que eles te informam tudo certinho.. =)
ok vou tentar e ver se funciona obrigada mais uma vez
>
>
>
rs vlw não vi em cima obrigada mais uma coisa aqui o que é que vai ?
$phpmail->Host = "localhost"; // SMTP servers
Ai depende da sua hospedagem, a maioria(que eu conheço pelo menos) utiliza localhost mesmo, mas em alguns casos você precisa colocar mail.seudominio.com.br
Da forma que esta setado a autenticação eu utilizo sem problemas na Locaweb, Insite(que agora pertence a UOL) e Dreamhost.
Qualquer coisa, entre em contato com o suporte da sua hospedagem que eles te informam tudo certinho.. =)
ok vou tentar e ver se funciona obrigada mais uma vez
no caso esse mail.seudominio.com.br
não seria o dominio ftp né que você se refere?
Não, seria o mail mesmo. =)
>
Não, seria o mail mesmo. =)
no caso entao como o email é effcom.mkt.publicidd@gmail.com eu teria que repetir ele nessa linha:$phpmail->Host = "localhost"; // SMTP servers e nessa linha:$phpmail->AddAddress("effcom.mkt.publicidd@gmail.com");
isso?
Tenta isso aqui
<?php
// chamo class phpmailer
PS: não esquece de muda a senha do teu e-mail, tem muita gente mau intencionada por ai.
Se for posta algum codigo com a senha novamente troque ela por ****.. :D
Abrass