Ir ao conteúdo
  • Cadastre-se

Enviando dados de formulario para um e-mail.


Vilson Santana

Posts recomendados

Ola galera beleza... Queria saber se alguém pode me ajudar nessa aqui... To começando agora na área de web design e no meu primeiro trabalho já encontrei um abacaxi que não estou conseguindo descascar... Se alguém puder da uma força ai pra mim... Ainda não terminei o curso e nem vi essa parte to leigo de tudo...

Seguinte me pediram a criação de um formulário com vários campos vou descreve-los exatamente como me pediram que fosse feito

Nome:

Telefone:

E-mail:

Endereço:

Cidade:

UF:

Observações:

O fomulário eu criei...

So que preciso que os dados preenchidos sejam enviados para o e-mail da empresa quando se clicar no botão enviar... Alguém pode me ajuda no passo a passo... ou me mostrar qual seria a estrutura dos códigos com os primeiros itens... Desde já muito grato!

Link para o comentário
Compartilhar em outros sites


<?


require("phpmailer/class.phpmailer.php");


$nome = $_POST['nome'];
$telefone = $_POST['tefefone'];
$email = $_POST['email'];
$endereco = $_POST['endereco'];
$bairro = $_POST['bairro'];
$cidade = $_POST['cidade'];
$uf = $_POST['uf'];
$cep = $_POST['cep'];
$destino = $_POST['destino'];
$empresa = $_POST['empresa'];
$horario = $_POST['horario'];
$data = $_POST['data'];
$observacoes = $_POST['observacoes'];

$mail = new PHPMailer();

$mail->IsSMTP();

$mail->Host = "mail.seu_domino.net"; // Seu servidor smtp

$mail->SMTPAuth = true;

$mail->Username = "seu_email@seudominio"; // usuário deste servidor smtp

$mail->Password = "sua_senha"; // senha


$mail->From = $email;

$mail->FromName = $nome;

$mail->SetLanguage( 'br', 'phpmailer/language/' );


//Enderecos que devem ser enviadas as mensagens (Pode haver mais de 1)

$mail->AddAddress("[email protected]","Seu Nome");


$mail->AddReplyTo($email);

$mail->WordWrap = 50;

$mail->IsHTML(true);

$mail->Subject = $assunto;

$mail->Body = $mensagem;

$mail->AltBody = " ESPAÇO DO ALT-BODY";

if(!$mail->Send()){

echo "Solicitação não enviada";

echo "Erro: " . $mail->ErrorInfo;

exit;

}

echo "Solicitação enviada com sucesso.";

?>

Os dados acima inseri conforme meu formulario... Esta tudo certo? Dessa forma vai fazer o envio?? Se alguem puder ai me ajuda...

Caso tenha que mudar alguma coisa se alguem souber me diz ai... Ja baixei a classe phpmailer e o smtp e coloquei num pasta chamada phpmailer dentro da pasta do site... Caso esteja tudo certo como faço pra que quando click no botao enviar, envie... preciso colocar essa pag com os codigos como link no botao??

Link para o comentário
Compartilhar em outros sites

  • Moderador

Olá,

bom vejo uma série de erros no seu código, e nao vejo uma verificaçao server-side dos campos vazios.

Para validar os campos vazios você pode usar a funçao empty()

exemplo:


if( empty($nome)){
echo "preencha este campo";
exit;
}

em nenhum momento você criou o conteúdo da variável $assunto e $mensagem.

em $mail->SetLanguage( 'br', 'phpmailer/language/' );

altere para $mail->SetLanguage("br");

e no seu bloco de if, acrescente else depois da ultima chave abra, insira a mensagem de sucesso e feche o bloco.

veja, você recebe os dados por post certo?

crie a variavel $assunto = " assunto que será visto na caixa de entrada";

$mensagem = " as variaveis que recebem os dados formulario ficam aqui dentro, podes organiza-la com estrutura html".

exemplo:


$assunto = "Solicitação de Redefinição de senhas";

$mensagem = " <h1>Olá $nome</h1>,
Para redefinir sua senha Clique neste link e prencha os campos necessários.<br/>
Dúvidas clique aqui

";

se você definiu o botao tipo submit, e recebe no arquivo.php os dados..assim que clicar no botao, e validado( campos vazios) ele envia o email caso tenha passado na verificaçao!

abraço

Link para o comentário
Compartilhar em outros sites

Desde já te agradeço pela paciência e pela dedicação em me ajudar... Passei o carro na frente dos bois... Antes do meio do meu curso peguei alguns serviços pra fazer e encontrei determinadas barreiras e agora vi que estou leigo dimais no assunto.

Vou tentar aqui com suas dicas e posto novamente para que se você puder corrija novamente...

Muitíssimo obrigado mesmo...

Quando eu terminar te pago uma coca-cola bem gelada!!!

hehe

<?


require("phpmailer/class.phpmailer.php");


$assunto = $_POST['assunto'];
$mensagem = $_POST['mensagem'];
$nome = $_POST['nome'];
$telefone = $_POST['tefefone'];
$email = $_POST['email'];
$endereco = $_POST['endereco'];
$bairro = $_POST['bairro'];
$cidade = $_POST['cidade'];
$uf = $_POST['uf'];
$cep = $_POST['cep'];
$destino = $_POST['destino'];
$empresa = $_POST['empresa'];
$horario = $_POST['horario'];
$data = $_POST['data'];
$observacoes = $_POST['observacoes'];

$mail = new PHPMailer();

$mail->IsSMTP();

$mail->Host = "mail.seu_domino.net"; // Seu servidor smtp

$mail->SMTPAuth = true;

$mail->Username = "seu_email@seudominio"; // usuário deste servidor smtp

$mail->Password = "sua_senha"; // senha


$mail->From = $email;

$mail->FromName = $nome;

$mail->SetLanguage("br");


//Enderecos que devem ser enviadas as mensagens (Pode haver mais de 1)

$mail->AddAddress("[email protected]","Seu Nome");


$mail->AddReplyTo($email);

$mail->WordWrap = 50;

$mail->IsHTML(true);

$mail->Subject = $assunto;

$mail->Body = $mensagem;

$mail->AltBody = " ESPAÇO DO ALT-BODY";

if(!$mail->Send())

{

echo "Solicitação não enviada";

echo "Erro: " . $mail->ErrorInfo;

exit;

}

else

echo "Solicitação enviada com sucesso.";

?>

Nao entendi a parte de validar os campos vazios?? tenho que criar um codigo daquele para cada compo do formulario?? A $assunto e a $mensagem criei no lugar certo?

Desculpe estar de imcomodando com isso pela minha falta de experiencia. Mas é que meu tempo pra entregar o site pronto ta se esgotando!!

Agredecido desde já!

Link para o comentário
Compartilhar em outros sites

  • Moderador

Olá, ainda está um pouco errado, digamos assim.

note que, se você tentar enviar desta maneira, será enviado um email com o subject.. e o valor da variavel mensagem. os otros campos que você digitou nao será enviado, pois você nao agregou a uma variavel.

o melhor a se fazer é criar uma variavel que "printa" todas as variavais que você recebe do formulario.

exemplo:


$corpo "
Nome: $nome <br/>
E-mail: $email <br/>
Mensagem: $observacoes<br/>";

$mail->Body = $corpo;

Desta maneira, você estará enviando os dados recebidos do formulario, no corpo do e-mail.

no subject, esta certo, você deve usar a variavel assunto. do jeito que voce fez ali, imagino que tenhas criado um campo "assunto" no seu formulario. Caso nao tenha, esta variavel iria ficar vazia.. e quando a pessoa receber o email, o assunto estará vazio.. daí neste caso você precisa atribur a variavel assunto.. um valor.

Quanto a aparte de validação de campos vazios, é importante, pois se o usuario nao digitar nada e enviar o formulario.. voce iria receber um email sem nada escrito.

para evitar isso.. podes criar uma estrutura de controle, testando as variaveis para ver se elas estão vazias, caso estejam, informa um erro dizendo que é necessário preencher o formulario antes de enviar.

como mostrei no exemplo em um post anterior com apenas uma variavel e voce tem várias.. então quando se tem várias pode fazer desta maneira:


if( empty($nome) OR empty($email) OR empty($observacoes)){
echo "Preencha todos os campos";
exit;
}

note que tem um operador lógico no meio "OR", indicando que se a variavel nome, a variavel email ou a variavel observacoes estiver vazia, ele apresenta o erro.

abraço

Link para o comentário
Compartilhar em outros sites

Vou tentar aqui!!



$nome = $_POST['nome'];
$telefone = $_POST['tefefone'];
$email = $_POST['email'];
$endereco = $_POST['endereco'];
$bairro = $_POST['bairro'];
$cidade = $_POST['cidade'];
$uf = $_POST['uf'];
$cep = $_POST['cep'];
$destino = $_POST['destino'];
$empresa = $_POST['empresa'];
$horario = $_POST['horario'];
$data = $_POST['data'];
$observacoes = $_POST['observacoes'];

So contem esses campos ai!

Cara me desculpa to vendido... Como te disse nao tenho experiencia... Sera que se não fosse pedir dimais... Daria pra você dar um exemplo suando o meu formulário... Me mostrando como começaria a ser feito... Quando o criei validei todos o campos... Vou posta-lo logo abaixo aqui... pra que você analise.



Formulario

</style>
<script type="text/javascript">
function MM_validateForm() { //v4.0
if (document.getElementById){
var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=document.getElementById(args[i]);
if (val) { nm=val.name; if ((val=val.value)!="") {
if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
} else if (test!='R') { num = parseFloat(val);
if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
min=test.substring(8,p); max=test.substring(p+1);
if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
} } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
} if (errors) alert('The following error(s) occurred:\n'+errors);
document.MM_returnValue = (errors == '');
} }
</script>
</head>

<body class="fundo">
<div id="container">
<div id="topo"><img src="img/cabecalho776x161.png" width="776" height="161" alt="topo" /></div>
<div id="menu"><img src="img/menufina776x38.png" width="776" height="38" alt="menu" /></div>
<div id="barra-lateral"><img src="img/barra lateral - destaques.png" width="190" height="808" alt="barra-lateral" /></div>
<div id="textos">
<h1><strong>Antes de reservar sua passagem clique no link abaixo e esclareça suas duvidas sobre o serviço da compra.</strong></h1>
<h3> Clique aqui e tire suas duvidas.
</h3>
<form action="" method="post" name="form1" id="form1" onsubmit="MM_validateForm('nome','','R','telefone','','RisNum','email','','RisEmail','endereco','','R','bairro','','R','cidade','','R','uf','','R','cep','','NisNum','destino','','R','empresa','','R','horario','','R','data','','R');return document.MM_returnValue">
<table width="480" border="0" align="left">
<tr>
<th width="116" align="left" scope="col"><h1><strong>Nome:</strong></h1></th>
<th width="354" align="left" scope="col"><input name="nome" type="text" id="nome" size="60" /></th>
</tr>
<tr>
<th align="left" scope="row"><h1><strong>Telefone:</strong></h1></th>
<td align="left"><label for="telefone"></label>
<input name="telefone" type="text" id="telefone" size="60" maxlength="11" /></td>
</tr>
<tr>
<th align="left" scope="row"><h1><strong>E-mail:</strong></h1></th>
<td align="left"><label for="email"></label>
<input name="email" type="text" id="email" size="60" /></td>
</tr>
<tr>
<th align="left" scope="row"><h1><strong>Endereço:</strong></h1></th>
<td align="left"><label for="endereco"></label>
<input name="endereco" type="text" id="endereco" size="60" /></td>
</tr>
<tr>
<th align="left" scope="row"><h1><strong>Bairro:</strong></h1></th>
<td align="left"><label for="bairro"></label>
<input name="bairro" type="text" id="bairro" size="60" maxlength="60" /></td>
</tr>
<tr>
<th align="left" scope="row"><h1><strong>Cidade - UF:</strong></h1></th>
<td align="left"><h1>
<label for="cidade"></label>
<input name="cidade" type="text" id="cidade" size="48" />
-
<label for="uf"></label>
<input name="uf" type="text" id="uf" size="2" maxlength="2" />
</h1></td>
</tr>
<tr>
<th align="left" scope="row"><h1><strong>Cep:</strong></h1></th>
<td align="left"><label for="cep"></label>
<input name="cep" type="text" id="cep" size="60" maxlength="8" /></td>
</tr>
<tr>
<th align="left" scope="row"><h1><strong>Destino:</strong></h1></th>
<td align="left"><label for="destino"></label>
<input name="destino" type="text" id="destino" size="60" /></td>
</tr>
<tr>
<th height="22" align="left" scope="row"><h1><strong>Empresa:</strong></h1></th>
<td align="left"><label for="empresa"></label>
<input name="empresa" type="text" id="empresa" size="60" maxlength="60" /></td>
</tr>
<tr>
<th align="left" scope="row"><h1><strong>Horário:</strong></h1></th>
<td align="left"><h1>
<label for="horario"></label>
<input name="horario" type="text" id="horario" size="30" maxlength="5" />
</h1></td>
</tr>
<tr>
<th align="left" scope="row"><h1><strong>Data:</strong></h1></th>
<td align="left"><label for="data"></label>
<input name="data" type="text" id="data" size="30" maxlength="11" /> <label for="observacoes"></label></td>
</tr>
<tr>
<th align="left" valign="top" scope="row"><h1><strong>Observações:</strong></h1></th>
<td align="left"><label for="observacoes2"></label>
<textarea name="observacoes" cols="46" rows="5" id="observacoes2"></textarea></td>
</tr>
<tr>
<th align="left" scope="row"> </th>
<td align="left"><input type="submit" name="redefinir" id="redefinir" value="Redefinir" /> <input type="submit" name="enviar" id="enviar" value="Enviar" /></td>
</tr>
</table>
</form></div>

Link para o comentário
Compartilhar em outros sites

  • Moderador

@osvaldo16, Legal a ferramenta, mas nao é indicado para que tem pouco conhecimento.. pois ao usar.. a pessoa ainda continua sem o conhecimento.

por isso eu recomendo que estude, e faça na mao.

@Vilson, todas as dicas necessárias para voce implementar no seu código foram apresentadas em posts anteriores. tente implementar e poste aqui seu código.

abraço

Link para o comentário
Compartilhar em outros sites

@Vilson, todas as dicas necessárias para voce implementar no seu código foram apresentadas em posts anteriores. tente implementar e poste aqui seu código.

abraço

Pode deixar vou fazer aqui... Vou rever tudo aqui e fazer novamente... Assim que estiver implementado posto... Valeww pela força... Ta sendo de grande valia!!

Link para o comentário
Compartilhar em outros sites

HTML


<table width="480" border="0" align="left">
<tr>
<th width="116" align="left" scope="col"><h1><strong>Nome:</strong></h1></th>
<th width="354" align="left" scope="col"><input name="nome" type="text" id="nome" size="60" /></th>
</tr>
<tr>
<th align="left" scope="row"><h1><strong>Telefone:</strong></h1></th>
<td align="left"><label for="telefone"></label>
<input name="telefone" type="text" id="telefone" size="60" maxlength="11" /></td>
</tr>
<tr>
<th align="left" scope="row"><h1><strong>E-mail:</strong></h1></th>
<td align="left"><label for="email"></label>
<input name="email" type="text" id="email" size="60" /></td>
</tr>
<tr>
<th align="left" scope="row"><h1><strong>Endereço:</strong></h1></th>
<td align="left"><label for="endereco"></label>
<input name="endereco" type="text" id="endereco" size="60" /></td>
</tr>
<tr>
<th align="left" scope="row"><h1><strong>Bairro:</strong></h1></th>
<td align="left"><label for="bairro"></label>
<input name="bairro" type="text" id="bairro" size="60" maxlength="60" /></td>
</tr>
<tr>
<th align="left" scope="row"><h1><strong>Cidade - UF:</strong></h1></th>
<td align="left"><h1>
<label for="cidade"></label>
<input name="cidade" type="text" id="cidade" size="48" />
-
<label for="uf"></label>
<input name="uf" type="text" id="uf" size="2" maxlength="2" />
</h1></td>
</tr>
<tr>
<th align="left" scope="row"><h1><strong>Cep:</strong></h1></th>
<td align="left"><label for="cep"></label>
<input name="cep" type="text" id="cep" size="60" maxlength="8" /></td>
</tr>
<tr>
<th align="left" scope="row"><h1><strong>Destino:</strong></h1></th>
<td align="left"><label for="destino"></label>
<input name="destino" type="text" id="destino" size="60" /></td>
</tr>
<tr>
<th height="22" align="left" scope="row"><h1><strong>Empresa:</strong></h1></th>
<td align="left"><label for="empresa"></label>
<input name="empresa" type="text" id="empresa" size="60" maxlength="60" /></td>
</tr>
<tr>
<th align="left" scope="row"><h1><strong>Horário:</strong></h1></th>
<td align="left"><h1>
<label for="horario"></label>
<input name="horario" type="text" id="horario" size="30" maxlength="5" />
</h1></td>
</tr>
<tr>
<th align="left" scope="row"><h1><strong>Data:</strong></h1></th>
<td align="left"><label for="data"></label>
<input name="data" type="text" id="data" size="30" maxlength="11" /> <label for="observacoes"></label></td>
</tr>
<tr>
<th align="left" valign="top" scope="row"><h1><strong>Observações:</strong></h1></th>
<td align="left"><label for="observacoes2"></label>
<textarea name="observacoes" cols="46" rows="5" id="observacoes2"></textarea></td>
</tr>
<tr>
<th align="left" scope="row"> </th>
<td align="left"><input type="submit" name="redefinir" id="redefinir" value="Redefinir" /> <input type="submit" name="enviar" id="enviar" value="Enviar" /></td>
</tr>
</table>
<form action="" method="post" name="form1" id="form1" onsubmit="MM_validateForm('nome','','R','telefone','','RisNum','email','','RisEmail','endereco','','R','bairro','','R','cidade','','R','uf','','R','cep','','NisNum','destino','','R','empresa','','R','horario','','R','data','','R');return document.MM_returnValue">

PHP




require("phpmailer/class.phpmailer.php");


$assunto = $_POST['assunto'];
$mensagem = $_POST['mensagem'];
$nome = $_POST['nome'];
$telefone = $_POST['tefefone'];
$email = $_POST['email'];
$endereco = $_POST['endereco'];
$bairro = $_POST['bairro'];
$cidade = $_POST['cidade'];
$uf = $_POST['uf'];
$cep = $_POST['cep'];
$destino = $_POST['destino'];
$empresa = $_POST['empresa'];
$horario = $_POST['horario'];
$data = $_POST['data'];
$observacoes = $_POST['observacoes'];

$mail = new PHPMailer();

$mail->IsSMTP();

$mail->Host = "mail.seu_domino.net"; // Seu servidor smtp

$mail->SMTPAuth = true;

$mail->Username = "seu_email@seudominio"; // usuário deste servidor smtp

$mail->Password = "sua_senha"; // senha

$mail->From = $email;

$mail->FromName = $nome;

$mail->SetLanguage("br");
//Enderecos que devem ser enviadas as mensagens (Pode haver mais de 1)
$mail->AddAddress("[email protected]","Seu Nome");

$mail->AddReplyTo($email);

$mail->WordWrap = 50;

$mail->IsHTML(true);

$mail->Subject = $reservadepassagem;

$corpo "Nome: $nome <br/>
Telefone: $telefone <br/>
E-mail: $email <br/>
Endereço: $endereco <br/>
Bairro: $bairro <br/>
Cidade: $cidade <br/>
Uf: $uf <br/>
Cep: $cep <br/>
Destino: $destino <br/>
Empresa: $empresa <br/>
Horário: $horario <br/>
Data: $data <br/>
Observações: $observacoes <br/>";

$mail->Body = $corpo;

$mail->AltBody = " ESPAÇO DO ALT-BODY";

if(!$mail->Send())

{

echo "Solicitação não enviada";

echo "Erro: " . $mail->ErrorInfo;

exit;

}

else

echo "Solicitação enviada com sucesso.";

?>
<?

Essa parte fica dessa forma mesmo??




<?


require("phpmailer/class.phpmailer.php");


$assunto = $_POST['assunto'];
$mensagem = $_POST['mensagem'];
$nome = $_POST['nome'];
$telefone = $_POST['tefefone'];
$email = $_POST['email'];
$endereco = $_POST['endereco'];
$bairro = $_POST['bairro'];
$cidade = $_POST['cidade'];
$uf = $_POST['uf'];
$cep = $_POST['cep'];
$destino = $_POST['destino'];
$empresa = $_POST['empresa'];
$horario = $_POST['horario'];
$data = $_POST['data'];
$observacoes = $_POST['observacoes'];

$mail = new PHPMailer();

Link para o comentário
Compartilhar em outros sites

  • Moderador

Olá amigo, vejo que esta tendo dificuldades com a tag CODE, convido-lhe a visitar este tópico: Como usar a tag CODE para usar a tag SPOILER é a mesma coisa que a code

Quanto ao assunto em pauta:

Bem, ainda contém alguns erros.

Analisando seu script php, está recebendo por post dados do campo assunto e mensagem, que não existe no seu formulário.

No seu subject usaste $reservadepassagem mas em nenhum momento voce definiu um valor para ele. então nesse caso ele seria mandado vazio..

Quanto a variavel $corpo, ela esta correta. Só precisas fazer algumas pequenas alterações

  • altere a variavel $assunto = $_POST["assunto"] para $assunto = "alguma coisa escrita";
  • apague a variavel $mensagem, pois voce ja criou o $corpo.
  • coloque a variavel $assunto em $mail->subject no lugar de $reservadepassagem;

Agora lhe dou algumas dicas:

voce poderia substituir aquela validação do seu formulário por uma validação em jQuery..existem varios plugins legais que facilitam..

Abraço

Link para o comentário
Compartilhar em outros sites

<?
$nome = $_POST["nome"];
$site = $_POST["site"];
$email = $_POST["email"];
$telefone = $_POST["telefone"];
$mensagem = $_POST["mensagem"];
$subject = 'Contato do Site';

global $email; //função para validar a variável $email no script todo
$data = date("d/m/y"); //função data envio do e-mail
$ip = $_SERVER['REMOTE_ADDR']; //função ip do usuário
$navegador = $_SERVER['HTTP_USER_AGENT']; //função navegador do visitante
$hora = date("H:i"); //função hora com a função date

//envia e-mail para você
mail ("[email protected]", //email php vai enviar os dados do form
"$subject",
// "Nome: $nome\nData: $data\nIp: $ip\nNavegador: $navegador\nHora: $hora\nSite: $site\nE-mail: $email\nTelefone: $telefone\n\nMensagem: $mensagem",
"Nome: $nome\nE-mail: $email\nTelefone: $telefone\nData: $data\nHora: $hora\n\nIp: $ip\nNavegador: $navegador\n\nMensagem: $mensagem",
"From: $email"
);

//envia e-mail para o visitante
$site = "[email protected]"; //e-mail que aparecerá na caixa postal do visitante
$titulo = "RE: Contato do Site"; //titulo da mensagem enviada para o visitante
$msg = "$nome, Obrigado por entrar em contato conosco. Em breve retornaremos.";


//envia e-mail auto-resposta para o visitante
mail("$email",
"$titulo",
"$msg",
"From: $site"
);
//echo "<p align=center>$nome, Sua mensagem foi enviada com sucesso!</p>";
//echo "<p align=center>Retornaremos o mais rápido possível.</p>";
?>

Link para o comentário
Compartilhar em outros sites

<?


require("phpmailer/class.phpmailer.php");


$assunto = "Reserva de Passagem";
$nome = $_POST['nome'];
$telefone = $_POST['tefefone'];
$email = $_POST['email'];
$endereco = $_POST['endereco'];
$bairro = $_POST['bairro'];
$cidade = $_POST['cidade'];
$uf = $_POST['uf'];
$cep = $_POST['cep'];
$destino = $_POST['destino'];
$empresa = $_POST['empresa'];
$horario = $_POST['horario'];
$data = $_POST['data'];
$observacoes = $_POST['observacoes'];

$mail = new PHPMailer();

$mail->IsSMTP();

$mail->Host = "mail.seu_domino.net"; // Seu servidor smtp

$mail->SMTPAuth = true;

$mail->Username = "seu_email@seudominio"; // usuário deste servidor smtp

$mail->Password = "sua_senha"; // senha

$mail->From = $email;

$mail->FromName = $nome;

$mail->SetLanguage("br");
//Enderecos que devem ser enviadas as mensagens (Pode haver mais de 1)
$mail->AddAddress("[email protected]","Seu Nome");

$mail->AddReplyTo($email);

$mail->WordWrap = 50;

$mail->IsHTML(true);

$mail->Subject = $assunto;

$corpo = "Nome: $nome <br/>
Telefone: $telefone <br/>
E-mail: $email <br/>
Endereço: $endereco <br/>
Bairro: $bairro <br/>
Cidade: $cidade <br/>
Uf: $uf <br/>
Cep: $cep <br/>
Destino: $destino <br/>
Empresa: $empresa <br/>
Horário: $horario <br/>
Data: $data <br/>
Observações: $observacoes <br/>";

$mail->Body = $corpo;

$mail->AltBody = " ESPAÇO DO ALT-BODY";

if(!$mail->Send())

{

echo "Solicitação não enviada";

echo "Erro: " . $mail->ErrorInfo;

exit;

}

else

echo "Solicitação enviada com sucesso.";

?>

Só mais uma duvida... quanto ao uso depois e pronto e tudo correto, nomei como arquivo.php eu tenho que atribuir esse arquivo.php ao botao para que faça o envio? Criei uma pasta dentro da pasta do site com o nome phpmailer e coloquei o arquivo classe.php e o smtp dentro dessa pasta esta correto?

Quanto a validaçao vou estudar aqui como faze-la e posto mais tarde.

_________________________________________________________________

Obrigado de verdade amigo. Aprendi muito com você aqui.

Tem como quando o cliente clicar em enviar e eu receber o formulario por email ir tambem um email automatico pro cliente com os dados que ele preencheu?

Link para o comentário
Compartilhar em outros sites

Envia a resposta automática... você recebe o e-mail pelo site e envia e-mail para o visitante que preencheu o formulário. você só tem que alterar os dados no script e nomeá-lo... Pode inserir quaisquer outras informações que se queira, tanto no recebimento quanto no envio... facilmente.

Link para o comentário
Compartilhar em outros sites

  • Moderador

Neste caso em especifico, a classe php mailer possui um recurso de envio de copias CC para quem voce quiser.

então se você quiser mandar por exemplo um email para o cliente com os mesmos dados que ele preencheu.. você pode adicionar uma cópia oculta (cco) usando assim:

$mail->AddBcc("[email protected]");

assim seu cliente e você recebem o email.

Quanto ao código, pelo que eu vi está certo agora. para fazer seu formulario funcionar.. basta colocar o nome do seu arquivo em action="" do seu formulario.

embora eu ache melhor fazer com jquery ajax, usar o action é uma forma simples de funcionar.

abraço

Link para o comentário
Compartilhar em outros sites

$mail->AddBcc("[email protected]");

Aqui dentro no caso coloco a variavel e-mail pra ela ser preenchida automaticamente com o email que o cliente digitar no formulario??

Criei um botao Redefinir e outro enviar, coquei o arquivo.php assim

<form action="arquivo.php" method="post" name="form1" id="form1" onsubmit="MM_validateForm('nome','','R','telefone','','RisNum','email','','RisEmail','endereco','','R','bairro','','R','cidade','','R','uf','','R','cep','','NisNum','destino','','R','empresa','','R','horario','','R','data','','R');return document.MM_returnValue">
<table width="480" border="0" align="left">
<tr>
<th width="116" align="left" scope="col"><h1><strong>Nome:</strong></h1></th>
<th width="354" align="left" scope="col"><input name="nome" type="text" id="nome" size="60" /></th>
</tr>
<tr>
<th align="left" scope="row"><h1><strong>Telefone:</strong></h1></th>
<td align="left"><label for="telefone"></label>
<input name="telefone" type="text" id="telefone" size="60" maxlength="11" /></td>
</tr>
<tr>
<th align="left" scope="row"><h1><strong>E-mail:</strong></h1></th>
<td align="left"><label for="email"></label>
<input name="email" type="text" id="email" size="60" /></td>
</tr>
<tr>
<th align="left" scope="row"><h1><strong>Endereço:</strong></h1></th>
<td align="left"><label for="endereco"></label>
<input name="endereco" type="text" id="endereco" size="60" /></td>
</tr>
<tr>
<th align="left" scope="row"><h1><strong>Bairro:</strong></h1></th>
<td align="left"><label for="bairro"></label>
<input name="bairro" type="text" id="bairro" size="60" maxlength="60" /></td>
</tr>
<tr>
<th align="left" scope="row"><h1><strong>Cidade - UF:</strong></h1></th>
<td align="left"><h1>
<label for="cidade"></label>
<input name="cidade" type="text" id="cidade" size="48" />
-
<label for="uf"></label>
<input name="uf" type="text" id="uf" size="2" maxlength="2" />
</h1></td>
</tr>
<tr>
<th align="left" scope="row"><h1><strong>Cep:</strong></h1></th>
<td align="left"><label for="cep"></label>
<input name="cep" type="text" id="cep" size="60" maxlength="8" /></td>
</tr>
<tr>
<th align="left" scope="row"><h1><strong>Destino:</strong></h1></th>
<td align="left"><label for="destino"></label>
<input name="destino" type="text" id="destino" size="60" /></td>
</tr>
<tr>
<th height="22" align="left" scope="row"><h1><strong>Empresa:</strong></h1></th>
<td align="left"><label for="empresa"></label>
<input name="empresa" type="text" id="empresa" size="60" maxlength="60" /></td>
</tr>
<tr>
<th align="left" scope="row"><h1><strong>Horário:</strong></h1></th>
<td align="left"><h1>
<label for="horario"></label>
<input name="horario" type="text" id="horario" size="30" maxlength="5" />
</h1></td>
</tr>
<tr>
<th align="left" scope="row"><h1><strong>Data:</strong></h1></th>
<td align="left"><label for="data"></label>
<input name="data" type="text" id="data" size="30" maxlength="11" /> <label for="observacoes"></label></td>
</tr>
<tr>
<th align="left" valign="top" scope="row"><h1><strong>Observações:</strong></h1></th>
<td align="left"><label for="observacoes2"></label>
<textarea name="observacoes" cols="46" rows="5" id="observacoes2"></textarea></td>
</tr>
<tr>
<th align="left" scope="row"> </th>
<td align="left"><input type="submit" name="redefinir" id="redefinir" value="Redefinir" /> <input type="submit" name="enviar" id="enviar" value="Enviar" /></td>
</tr>
</table>
</form></div>
</div>

Estou usando wampserver como servidor de teste quando cliquei no botao enviar deu o seguinte erro Not Found

The requested URL /site/arquivo.php was not found on this server.

é por q nao esta no servidor remoto e nem os dados do e-mail ainda estão correto certo?

Mas quando cliquei no botao redefinir deu o mesmo erro!

Link para o comentário
Compartilhar em outros sites

  • Moderador

bom, pelo que eu vi, o servidor nao encontrou o arquivo. é possivel que voce tenha especificado o caminho dele errado.

Quanto ao envio, recomendo que se for utlizar em servidor local.. terás que usar um autenticador e habilitar o secure(SSL).

por isso é melhor que você teste seu envio Online no seu servidor mesmo.

Quanto a sua duvida sobre a variavel, é isso mesmo, coloque a variavel $email para que use o email que foi digitado no campo.

abraço

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois...

Da um erro, falando do email que é preenchido no formulario, ele da a impressão de que esta sendo enviado para o email que o cliente deixa no formulario. Ele aparece um erro com esse e-mail na frente.

_________________________________________________________________

Mas encontrei esse outro aqui, que funcionou 100%, Queria que você me ajudasse a fazer somente alguns ajustes nele... Quando clico no enviar, ele chega na minha caixa postal so que assim...

De: Mail Delivery System

Assunto: Undelivered Mail Returned to Sender

Quando clico ele abre uma pag com algumas palavras em inglês e um arquivo

Message.eml

Dentro desse arquivo ai a ser exibido esta todo o conteudo enviado.

Queria receber assim.

De: email_do_cliente digitado no formulario

Assunto: Compra de passagem

mensagem: tudo o que o cliente preencheu no formulario,

sem ter que baixar esse arquivo message.eml

_____________________________________________________________

Quando clica em enviar... Abre outra guia com varias mensagens.

Solicitação enviada com sucesso. Repetitivamente...

Tem como abrir so uma janelinha com o texto,

Senhor fulano te tal, sua solicitaçao foi enviada com sucesso.

E o botao Ok pra clikar e fechar essa janelinha?

________________________________________________________________

<?php

{

$destinatarios = '***@meudominio.com.br, ***@meudominio.com.br';

$usuario = '***@meudominio.com.br,';

$senha = '123456';

$nomeDestinatario = 'dominio';

$assunto = "Reserva de Passagem";
$nome = $_POST['nome'];
$telefone = $_POST['tefefone'];
$email = $_POST['email'];
$endereco = $_POST['endereco'];
$bairro = $_POST['bairro'];
$cidade = $_POST['cidade'];
$uf = $_POST['uf'];
$cep = $_POST['cep'];
$destino = $_POST['destino'];
$empresa = $_POST['empresa'];
$horario = $_POST['horario'];
$data = $_POST['data'];
$observacoes = $_POST['observacoes'];

foreach ($_POST as $dados['me1'] => $dados['me2'])

{

$dados['me3'][] = '<b>'.$dados['me1'].'</b>: '.$dados['me2'];

}

$dados['me3'] = '<hr><h4>Mensagem do site</h4>'.implode('<br>', $dados['me3']).'<hr>';

$dados['email'] = array('usuario' => $usuario, 'senha' => $senha, 'servidor' => 'smtp.'.substr(strstr($usuario, '@'), 1), 'nomeRemetente' => $nomeRemetente, 'nomeDestinatario' => $nomeDestinatario, 'resposta' => $resposta, 'assunto' => $assunto, 'mensagem' => $dados['me3']);

ini_set('php_flag mail_filter', 0);

$conexao = fsockopen($dados['email']['servidor'], 587, $errno, $errstr, 10);
fgets($conexao, 512);

$dados['destinatarios'] = explode(',', $destinatarios);

foreach ($dados['destinatarios'] as $dados['1'])

{

$dados['destinatarios']['RCPTTO'][] = '< '.$dados['1'].' >';
$dados['destinatarios']['TO'][] = $dados['1'];

}

$dados['cabecalho'] = array('EHLO ' => $dados['email']['servidor'], 'AUTH LOGIN', base64_encode($dados['email']['usuario']), base64_encode($dados['email']['senha']), 'MAIL FROM: ' => '< '.$dados['email']['usuario'].' >', 'RCPT TO:' => $dados['destinatarios']['RCPTTO'], 'DATA', 'MIME-Version: ' => '1.0', 'Content-Type: text/html; charset=iso-8859-1', 'Date: ' => date('r',time()), 'From: ' => array($dados['email']['nomeRemetente'].' ' => '< '.$dados['email']['usuario'].' >'), 'To:' => array($dados['email']['nomeDestinatario'].' ' => $dados['destinatarios']['TO']), 'Reply-To: ' => $dados['email']['resposta'],'Subject: ' => $dados['email']['assunto'], 'mensagem' => $dados['email']['mensagem'], 'QUIT');

foreach ($dados['cabecalho'] as $dados['2'] => $dados['3'])

{

if (is_array($dados['3']))

{

foreach ($dados['3'] as $dados['4'] => $dados['5'])

{

$dados['4'] = empty($dados['4']) ? '' : $dados['4'];
$dados['5'] = empty($dados['5']) ? '' : $dados['5'];

$dados['4'] = is_numeric($dados['4']) ? '' : $dados['4'];

if (is_array($dados['5']))

{

$dados['5'] = "< ".implode(', ', $dados['5'])." >";

}

fwrite($conexao, $dados['2'].$dados['4'].$dados['5']."\r\n", 512).'<br>';
fgets($conexao, 512);

}

}

else

{

$dados['2'] = empty($dados['2']) ? '' : $dados['2'];
$dados['3'] = empty($dados['3']) ? '' : $dados['3'];

$dados['2'] = is_numeric($dados['2']) ? '' : $dados['2'];

if ($dados['2'] == 'Subject: ')

{

fwrite($conexao, $dados['2'].$dados['3']."\r\n", 512).'<br>';
fwrite($conexao, "\r\n", 512).'<br>';
fgets($conexao, 512);

}

elseif ($dados['2'] == 'mensagem')

{

fwrite($conexao, $dados['3']."\r\n.\r\n").'<br>';
fgets($conexao);

}

else

{


fwrite($conexao, $dados['2'].$dados['3']."\r\n", 512).'<br>';
fgets($conexao, 512);

echo "Solicitação enviada com sucesso.";

}

}

}

fclose($conexao);

}

?>

Link para o comentário
Compartilhar em outros sites

O pessoal do suporte tecnico do nosso servidor contratado é que passou esse codigo, ele funcionou tudo certinho mandaram eu somente alterar os dados do formulario, e nao mexer em nada depois do formulario, so que nao ficou bom.

Mas se você puder me ajudar a solucionar o erro do outro codigo, que da um erro apontando o email que o cliente insere no formulario ja fico grato.

Esse codigo que eles me passaram não tive muita noção dele não, mas eles disseram que nao precisaria mexer em nada somente inserir meu formulario.

Mas se você puder me ajudar, ou estruturar esse da forma q descrevi, ou corrigir o erro do email do outro, porque esse que passei por ulltimo, nao o entendi muito bem!

Link para o comentário
Compartilhar em outros sites

Arquivado

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

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...