Ir para conteúdo

POWERED BY:

Arquivado

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

ilustrando

[Resolvido] Formulario de E-mail e Site em PHP

Recommended Posts

Beraldo, o meu código do arquivo form.php terá de ficar desta forma?

 

<?php
$nome = $_POST['nome'];
$email = $_POST['email'];
$telefones = $_POST['telefones'];
$assunto = $_POST['assunto'];
$mensagem = $_POST['mensagem'];

// Inclui o arquivo class.phpmailer.php localizado na pasta phpmailer
require("phpmailer/class.phpmailer.php");

// Inicia a classe PHPMailer
$mail = new PHPMailer();

// Define os dados do servidor e tipo de conexão
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$mail->IsSMTP(); // Define que a mensagem será SMTP
$mail->Host = "smtp.yahoo.com.br"; // Endereço do servidor SMTP
$mail->SMTPAuth = true; // Usa autenticação SMTP? (opcional)
$mail->Username = 'leandro_csa@yahoo.com.br'; // Usuário do servidor SMTP
$mail->Password = 'senhaomeumail'; // Senha do servidor SMTP

// Define o remetente
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$mail->From = "leandro.almeida@ilustrandodesign.com.br"; // Seu e-mail
$mail->FromName = "Leandro"; // Seu nome

// Define os destinatário(s)
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$mail->AddAddress('$email', '$nome');
//$mail->AddAddress('ciclano@site.net');
//$mail->AddCC('ciclano@site.net', 'Ciclano'); // Copia
//$mail->AddBCC('fulano@dominio.com.br', 'Fulano da Silva'); // Cópia Oculta

// Define os dados técnicos da Mensagem
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$mail->IsHTML(true); // Define que o e-mail será enviado como HTML
$mail->CharSet = 'iso-8859-1'; // Charset da mensagem (opcional)

// Define a mensagem (Texto e Assunto)
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$mail->Subject  = "$assunto"; // Assunto da mensagem
$mail->Body = "$mensagem";
//blog.thiagobelem.net/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley"> ";
$mail->AltBody = "Mensagem enviada";
//blog.thiagobelem.net/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley"> ";

// Define os anexos (opcional)
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
//$mail->AddAttachment("c:/temp/documento.pdf", "novo_nome.pdf");  // Insere um anexo

// Envia o e-mail
$enviado = $mail->Send();

// Limpa os destinatários e os anexos
$mail->ClearAllRecipients();
$mail->ClearAttachments();

// Exibe uma mensagem de resultado
if ($enviado) {
echo "E-mail enviado com sucesso!";
} else {
echo "Não foi possível enviar o e-mail.<br /><br />";
echo "<b>Informações do erro:</b> <br />" . $mail->ErrorInfo;
}

?>

 

Esta correto?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu testei e deu estas mensagens:

 

PHP Warning: fsockopen() [<a href='function.fsockopen'>function.fsockopen</a>]: php_network_getaddresses: getaddrinfo failed: No such host is known. in E:\home\ilustrandodesign\Web\phpmailer\class.smtp.php on line 122

PHP Warning: fsockopen() [<a href='function.fsockopen'>function.fsockopen</a>]: unable to connect to smtp.yahoo.com.br:25 (php_network_getaddresses: getaddrinfo failed: No such host is known. ) in E:\home\ilustrandodesign\Web\phpmailer\class.smtp.php on line 122

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beraldo, eu mudei o código:

$mail->Host = "smtp.yahoo.com.br"; // Endereço do servidor SMTP

 

para:

$mail->Host = "smtp.mail.yahoo.com.br"; // Endereço do servidor SMTP

 

e deu agora o seguinte erro:

Não foi possível enviar o e-mail.

 

Informações do erro:

The following From address failed: leandro.almeida@ilustrandodesign.com.br

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eita....foi mals.

 

Então, não sei se agora fiz a alteração corretamente, mas eu alterei onde estava o e-mail do meu domínio e coloquei o e-mail do yahoo, para ver se dá certo.

 

Ai ficou assim, onde estava o meu e-mail do Ilustrando Design:

// Define o remetente
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$mail->From = "leandro_csa@yahoo.com.br"; // Seu e-mail
$mail->FromName = "Leandro"; // Seu nome

 

Não sei se é da maneira certa, mas eu fiz deste jeito e deu este erro:

 

Não foi possível enviar o e-mail.

 

Informações do erro:

SMTP Error: The following recipients failed: email

 

o código completo esta desta forma:

<?php

// Inclui o arquivo class.phpmailer.php localizado na pasta phpmailer
require("phpmailer/class.phpmailer.php");

// Inicia a classe PHPMailer
$mail = new PHPMailer();

// Define os dados do servidor e tipo de conexão
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$mail->IsSMTP(); // Define que a mensagem será SMTP
$mail->Host = "smtp.mail.yahoo.com.br"; // Endereço do servidor SMTP
$mail->SMTPAuth = true; // Usa autenticação SMTP? (opcional)
$mail->Username = 'leandro_csa@yahoo.com.br'; // Usuário do servidor SMTP
$mail->Password = 'senhadomeuemail'; // Senha do servidor SMTP

// Define o remetente
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$mail->From = "leandro_csa@yahoo.com.br"; // Seu e-mail
$mail->FromName = "Leandro"; // Seu nome

// Define os destinatário(s)
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
#$mail->AddAddress('fulano@dominio.com.br', 'Fulano da Silva');
$mail->AddAddress('email', 'nome');
//$mail->AddAddress('ciclano@site.net');
//$mail->AddCC('ciclano@site.net', 'Ciclano'); // Copia
//$mail->AddBCC('fulano@dominio.com.br', 'Fulano da Silva'); // Cópia Oculta

// Define os dados técnicos da Mensagem
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$mail->IsHTML(true); // Define que o e-mail será enviado como HTML
$mail->CharSet = 'iso-8859-1'; // Charset da mensagem (opcional)

// Define a mensagem (Texto e Assunto)
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$mail->Subject  = "assunto"; // Assunto da mensagem
$mail->Body = "mensagem";
//blog.thiagobelem.net/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley"> ";
$mail->AltBody = "Mensagem enviada";
//blog.thiagobelem.net/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley"> ";

// Define os anexos (opcional)
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
//$mail->AddAttachment("c:/temp/documento.pdf", "novo_nome.pdf");  // Insere um anexo

// Envia o e-mail
$enviado = $mail->Send();

// Limpa os destinatários e os anexos
$mail->ClearAllRecipients();
$mail->ClearAttachments();

// Exibe uma mensagem de resultado
if ($enviado) {
echo "E-mail enviado com sucesso!";
} else {
echo "Não foi possível enviar o e-mail.<br /><br />";
echo "<b>Informações do erro:</b> <br />" . $mail->ErrorInfo;
}

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Beraldo, boa noite meu amigo.

 

É, agora eu ví este erro...rsrsrs

 

Além deste eu fiz uma alteração no código e agora pelo menos as informações chegam, eu inverti o Remetente com o Destinatário, agora as informações chegam, o meu código ficou desta forma agora:

<?php
header("refresh: 2;contato.php");

$nome = $_POST['nome'];
$email = $_POST['email'];
$telefones = $_POST['telefones'];
$assunto = $_POST['assunto'];
$msg = $_POST['mensagem'];

// Juntando todas as informações
$mensagem = "Nome: $nome\n\nAssunto: $assunto\n\nTelefones: $telefones\n\nE-mail: $email\n\nMensagem: $msg";

// Inclui o arquivo class.phpmailer.php localizado na pasta phpmailer
require("phpmailer/class.phpmailer.php");

// Inicia a classe PHPMailer
$mail = new PHPMailer();

// Define os dados do servidor e tipo de conexão
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$mail->IsSMTP(); // Define que a mensagem será SMTP
$mail->Host = "smtp.ilustrandodesign.com.br"; // Endereço do servidor SMTP 
$mail->SMTPAuth = true; // Usa autenticação SMTP? (opcional)
$mail->Username = 'leandro.almeida@ilustrandodesign.com.br'; // Usuário do servidor SMTP 
$mail->Password = 'senhadomeuemail'; // Senha do servidor SMTP 

// Define o remetente
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$mail->From = $email; // Seu e-mail 
$mail->FromName = $nome; // Seu nome

// Define os destinatário(s)
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$mail->AddAddress('leandro.almeida@ilustrandodesign.com.br', 'Leandro Almeida');
#$mail->AddAddress($email, $nome);
//$mail->AddAddress('ciclano@site.net');
//$mail->AddCC('ciclano@site.net', 'Ciclano'); // Copia
//$mail->AddBCC('fulano@dominio.com.br', 'Fulano da Silva'); // Cópia Oculta

// Define os dados técnicos da Mensagem
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$mail->IsHTML(true); // Define que o e-mail será enviado como HTML
$mail->CharSet = 'iso-8859-1'; // Charset da mensagem (opcional)

// Define a mensagem (Texto e Assunto)
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$mail->Subject  = $assunto; // Assunto da mensagem
$mail->Body = $mensagem;
$mail->AltBody = "Mensagem enviada";

// Define os anexos (opcional)
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
//$mail->AddAttachment("c:/temp/documento.pdf", "novo_nome.pdf");  // Insere um anexo

// Envia o e-mail
$enviado = $mail->Send();

// Limpa os destinatários e os anexos
$mail->ClearAllRecipients();
$mail->ClearAttachments();

// Exibe uma mensagem de resultado
if ($enviado) {
echo "E-mail enviado com sucesso!";
} else {
echo "Não foi possível enviar o e-mail.<br /><br />";
echo "<b>Informações do erro:</b> <br />" . $mail->ErrorInfo;
}

?>

 

Agora o que esta acontecendo é que eu preencho o formulário com estas informações....

 

Nome: Fulano

E-mail: teste@emailteste.com.br

Telefones: 0000-0000

Assunto: Teste de envio

Mensagem: Teste das informações!

 

e aperto no enviar, não sei por que ele demora muito para enviar as informações.....

feito isto ele me joga para a mensagem "E-mail enviado com sucesso!"

 

E retorna para a página contato.php

 

mas quando eu recebo o e-mail, de acordo com as informações que eu digitei nos campos ( conforme à cima ), chega assim:

 

Nome: Fulano Assunto: Teste de envio Telefones: 0000-0000 E-mail: teste@emailteste.com.br Mensagem: Teste das informações!

 

Tudo em uma linha só todo distorcido.

 

Sabe o por que acontece isto?

E uma forma que posso deixar organizado por linha as informações, separá-las de alguma maneira?

 

Beraldo....cara, valeu ai pelo empenho em me ajudar.

 

Consegui separar as informações, inseri um <br> entre as informações ao invés do \n\n

 

Agora o que esta faltando apenas é arrumar esta distorção das mensagens.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beraldo meu parceiro, agora deu tudo certo!

 

Muito obrigado pela ajuda que me deu meu irmão, agradeço de coração.

 

Vale mesmo pela ajuda e vontade em me ajudar.

 

Bom, para mostrar....o meu código final ficou desta forma:

<?php
header("refresh: 2;contato.php");

$nome = $_POST['nome'];
$email = $_POST['email'];
$telefones = $_POST['telefones'];
$assunto = $_POST['assunto'];
$msg = $_POST['mensagem'];

// Juntando todas as informações
$mensagem = "Olá, você possui um contato aguardando seu retorno.<br>Nome: $nome<br>Telefones: $telefones<br>E-mail: $email<br><br>Assunto: $assunto<br>Mensagem: $msg";

// Inclui o arquivo class.phpmailer.php localizado na pasta phpmailer
require("phpmailer/class.phpmailer.php");

// Inicia a classe PHPMailer
$mail = new PHPMailer();

// Define os dados do servidor e tipo de conexão
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$mail->IsSMTP(); // Define que a mensagem será SMTP
$mail->Host = "smtp.ilustrandodesign.com.br"; // Endereço do servidor SMTP 
$mail->SMTPAuth = true; // Usa autenticação SMTP? (opcional)
$mail->Username = 'leandro.almeida@ilustrandodesign.com.br'; // Usuário do servidor SMTP 
$mail->Password = 'senhadomeuemail'; // Senha do servidor SMTP 

// Define o remetente
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$mail->From = $email; // Seu e-mail 
$mail->FromName = $nome; // Seu nome

// Define os destinatário(s)
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$mail->AddAddress('leandro.almeida@ilustrandodesign.com.br', 'Leandro Almeida');
#$mail->AddAddress($email, $nome);
//$mail->AddAddress('ciclano@site.net');
//$mail->AddCC('ciclano@site.net', 'Ciclano'); // Copia
//$mail->AddBCC('fulano@dominio.com.br', 'Fulano da Silva'); // Cópia Oculta

// Define os dados técnicos da Mensagem
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$mail->IsHTML(true); // Define que o e-mail será enviado como HTML
$mail->CharSet = 'UTF-8'; // Charset da mensagem (opcional)

// Define a mensagem (Texto e Assunto)
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$mail->Subject  = $assunto; // Assunto da mensagem
$mail->Body = $mensagem;
$mail->AltBody = "Mensagem enviada";

// Define os anexos (opcional)
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
//$mail->AddAttachment("c:/temp/documento.pdf", "novo_nome.pdf");  // Insere um anexo

// Envia o e-mail
$enviado = $mail->Send();

// Limpa os destinatários e os anexos
$mail->ClearAllRecipients();
$mail->ClearAttachments();

// Exibe uma mensagem de resultado
if ($enviado) {
echo "E-mail enviado com sucesso!";
} else {
echo "Não foi possível enviar o e-mail.<br /><br />";
echo "<b>Informações do erro:</b> <br />" . $mail->ErrorInfo;
}

?>

 

Vou tentar usar o PHPMailer em um outro formulário que esta dando um problema estranho, caso não dê certo......recorro aos mestres.

 

Obrigado mesmo meu irmão, tenha uma ótima noite.

 

Ola meu caros mestres da Imasters, só tenho mais uma dúvida....que é referente ao PHPMailer.

 

Nele, temos que inserir o SMTP, email e senha.....

Ai eu queria saber se tem como eu usar o PHPMailer sem colocar a senha do meu e-mail?

 

Afinal, caso alguém de certa forma consiga ter acesso a este arquivo form.php, vai conseguir meu e-mail e senha.....e dai já sabe né!

 

 

Tem como, ou uma outra forma sem deixar o meu código?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas não pode haver a possibilidade de alguém ter acesso à estas informações?

É seguro?

 

Só estou perguntando por que me perguntaram isso...rsrsrs

 

Pois fiquei sem resposta.

Compartilhar este post


Link para o post
Compartilhar em outros sites

só se tiverema acesso a senha ftp.

 

fora isso, não tem como terem acesso a uma variavel php

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nossa que alivio "ler" isto.

 

Pois me perguntaram isto hoje e eu fiquei sem resposta.... de verdade.

 

Então da próxima vez eu respondo desta forma, que não tem como ter acesso à variáveis e se a pessoa só conseguirá ter acesso ao arquivo se tiver acesso a senha FTP.

 

Ai, matou a pau?

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.