Mateus P. 0 Denunciar post Postado Junho 24, 2015 Preciso para um trabalho da faculdade urgentemente já fiz com phpmailer, mas não deu certo. Baixe o phpmailer pus dentro da pasta www do localhost fui no php.ini tirei o ; e para ativar a função php open ssl, fui no outlook e pus e-mail do gmail configurado lá também, fiz várias vezes. Esse último código que fiz não aparece erro mas fica em branco não manda e-mail nenhum. Quero manda do localhost um e-mail para destino do gmail segue o código. <form id="form1" name="form1" method="post" action="enviar_email.php"> <div align="center"> <h3>Formulário de Contato </h3> <p align="center">Nome: <label for="nome"></label> <input type="text" name="nome" id="nome" /> </p> <p align="center">E-mail: <label for="email"></label> <input type="text" name="email" id="email" /> </p> <p align="center">Mensagem:</p> <p align="center"> <label for="mensagem"></label> <textarea name="mensagem" id="mensagem" cols="45" rows="5"></textarea> </p> <p align="center"> <input type="submit" name="Enviar" id="Enviar" value="Enviar" /> PHP <?php include 'class.phpmailer.php'; //recebe as variaveis $nome = POST_('nome'); $email = POST_('email'); $mensagem = POST_('mensagem'); //arquivos inclusos na pasta phpmailer //inicando a classe phpmailer $mail= new PHPMailer(); $mail->IsSMTP(); $mail->Host ="smtp.gmail.com"; $port= 587; $mail->SMTPAuth = true; $mail->Username = 'meuemail@gmail.com'; $mail->Password= 'minhasenha'; $mail->SMTPSecure='tls'; //remetente $mail->From = "meuemail@gmail.com"; $mail->FromName = "Admin"; //destinatário $mail->AddAddress($email, $nome); $mail->AddCC('meuemail@gmail.com'); //dados da mensagem que conterá dados em html $mail->IsHTML(true); //Texto e assunto e-mail $mail->Subject = "Mensagem do site"; $mail->Body = $mensagem; //Envia e-mail $enviado = $mail->Send(); //mensagem de resultado if($enviado){ echo "E-mail enviado com sucesso!"; }else{ echo "Não foi possível enviar o e-mail!"; } ?> Compartilhar este post Link para o post Compartilhar em outros sites
wolfphw 60 Denunciar post Postado Junho 24, 2015 Postgresql é um banco de dados e não um servidor de e-mails.. O recomendável é utilizar o phpmailer, utiliza mandar e-mails autenticado, só lembrando que a porta de SMTP não é mais a 25, http://phpmailer.worxware.com/?pg=examplebgmail Compartilhar este post Link para o post Compartilhar em outros sites
Mateus P. 0 Denunciar post Postado Junho 24, 2015 Ok. Postgresql é um banco de dados e não um servidor de e-mails.. O recomendável é utilizar o phpmailer, utiliza mandar e-mails autenticado, só lembrando que a porta de SMTP não é mais a 25, http://phpmailer.worxware.com/?pg=examplebgmail Eu sei que não é um servidor de e-mails, mas nos foi cobrado isso em um trabalho. Ai tava dando uma dor de cabeça para fazer. Compartilhar este post Link para o post Compartilhar em outros sites
wolfphw 60 Denunciar post Postado Junho 24, 2015 Então o que vc tem que fazer, e onde vc está com problema? Que está muito vago Compartilhar este post Link para o post Compartilhar em outros sites
Mateus P. 0 Denunciar post Postado Junho 24, 2015 Então o que você tem que fazer, e onde você está com problema? Que está muito vago Quero enviar do meu código via localhost um e-mail,por exemplo, e receber lá no gmail. Compartilhar este post Link para o post Compartilhar em outros sites
Maykel-ctba 233 Denunciar post Postado Junho 24, 2015 O indicado pelo próprio @wolfphw é o que deve ser feito! Compartilhar este post Link para o post Compartilhar em outros sites
wolfphw 60 Denunciar post Postado Junho 24, 2015 Vc já tentou utilizar esse código? <?php require_once('../class.phpmailer.php'); //include("class.smtp.php"); // optional, gets called from within class.phpmailer.php if not already loaded $mail = new PHPMailer(); $body = file_get_contents('contents.html'); $body = eregi_replace("[\]",'',$body); $mail->IsSMTP(); // telling the class to use SMTP $mail->Host = "mail.yourdomain.com"; // SMTP server $mail->SMTPDebug = 2; // enables SMTP debug information (for testing) // 1 = errors and messages // 2 = messages only $mail->SMTPAuth = true; // enable SMTP authentication $mail->SMTPSecure = "tls"; // sets the prefix to the servier $mail->Host = "smtp.gmail.com"; // sets GMAIL as the SMTP server $mail->Port = 587; // set the SMTP port for the GMAIL server $mail->Username = "yourusername@gmail.com"; // GMAIL username $mail->Password = "yourpassword"; // GMAIL password $mail->SetFrom('name@yourdomain.com', 'First Last'); $mail->AddReplyTo("name@yourdomain.com","First Last"); $mail->Subject = "PHPMailer Test Subject via smtp (Gmail), basic"; $mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test $mail->MsgHTML($body); $address = "whoto@otherdomain.com"; $mail->AddAddress($address, "John Doe"); if(!$mail->Send()) { echo "Mailer Error: " . $mail->ErrorInfo; } else { echo "Message sent!"; } ?> Que não tem como dar errado, apenas colocar as informações corretas, elas seriam, o seu email do gmail com a senha, ele funciona com phpmailer 5+ Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Junho 24, 2015 já fiz com phpmailer, mas não deu certo. O que significa "não deu certo"? Mostre o que fez e qual foi o resultado. Deu erro? Qual? Veja como usar o PHPMailer com Gmail: http://rberaldo.com.br/enviando-e-mails-com-a-classe-phpmailer/ Compartilhar este post Link para o post Compartilhar em outros sites
wolfphw 60 Denunciar post Postado Junho 24, 2015 Beraldo, cara eu olhando os outros tópicos desse Mateus, pra mim está parecendo que ele quer códigos prontos. Sempre a mesma desculpa que apagou os códigos, não posta nada, nenhum erro, deve ser aqueles folgados esperando coisa pronta. Compartilhar este post Link para o post Compartilhar em outros sites
Mateus P. 0 Denunciar post Postado Junho 24, 2015 Beraldo, cara eu olhando os outros tópicos desse Mateus, pra mim está parecendo que ele quer códigos prontos. Sempre a mesma desculpa que apagou os códigos, não posta nada, nenhum erro, deve ser aqueles folgados esperando coisa pronta. Olha cara não quero nada pronto não, e postei códigos sim não estou aqui para copiar nada e sim pedir auxilio. Beraldo, cara eu olhando os outros tópicos desse Mateus, pra mim está parecendo que ele quer códigos prontos. Sempre a mesma desculpa que apagou os códigos, não posta nada, nenhum erro, deve ser aqueles folgados esperando coisa pronta. Beraldo, cara eu olhando os outros tópicos desse Mateus, pra mim está parecendo que ele quer códigos prontos. Sempre a mesma desculpa que apagou os códigos, não posta nada, nenhum erro, deve ser aqueles folgados esperando coisa pronta. Não fala o que não sabe por favor tinha feito assim: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>--Formulário Contato--</title> <meta charset="utf-8" /> <script src="JavaScript1.js"></script> </head> <body> <form name="meu_form"> <h3 align="center">Entre em contato</h3> <p align="center"><span class="nome"> <label for="nome">Nome</label>: </span> <input type="text" id="nomeid" required name="nome" /></p> <p align="center"><span class="fone"> <label for="fone2">Fone</label> </span>: <input type="text" id="foneid" placeholder="(xx)xx-xx-xx-xx" name="fone" /></p> <p align="center"> <label for="email2">Email</label>: <input type="email" id="emailid" placeholder="mateus@gmail.com" name="email" /></p> <p align="center">Mensagem: <textarea placeholder="Deixe sua opnião"></textarea> </p> <p align="center" class="submit"> <input type="submit" onclick="Enviar();" value="Enviar" /> </p> </form> </body> </html> function Enviar() { var nome = document.getElementById("nomeid"); if (nome.value != "") { alert('Obrigado sr(a) ' + nome.value + ' os seus dados foram encaminhados com sucesso'); } } E tinha feito outro parecido com esse vou tentar novamente e não é desculpa volto a dizer não tem o porque de mentir. :closedeyes: É incrivel como as pessoas julgam sem saber ando preocupado aqui venho aqui pedir ajuda e não para ser julgado e realmente uns tinha apagado. Mas postei uns códigos sim. Tem esse aqui também que tinha feito antes http://forum.imasters.com.br/topic/537283-formulario-contato-como-testar-ele-no-localhost-do-postgres-sql/ Pronto ta ae. Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Junho 24, 2015 Seu formulário não tem o atributo "action", ou seja, não é enviado a lugar algum. Sua função Javascript só exibe um alert, sem enviar nada por email. Pesquise sobre "formulário de contato php". Você vai encontrar diversos tutoriais. Comece por aí. Primeiro faça funcionar o envio dos dados para o script PHP via POST. Depois implemente o envio por email. Links úteis: http://php.net/manual/pt_BR/tutorial.forms.php http://www.uolhost.com.br/faq/hospedagem/como-enviar-mensagens-com-php-por-autenticacao-smtp.html http://forum.imasters.com.br/topic/192408-sistema-de-cadastro-em-phpmysql/ Compartilhar este post Link para o post Compartilhar em outros sites
Mateus P. 0 Denunciar post Postado Junho 24, 2015 A pasta do phpmailer fica junto com código lá. Ai chama no php? Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Junho 24, 2015 A pasta do phpmailer fica junto com código lá. Ai chama no php? Sim, logo após pegar os dados do formulário Compartilhar este post Link para o post Compartilhar em outros sites
Mateus P. 0 Denunciar post Postado Junho 24, 2015 Não está dando certo fiz mais simples assim. <form name="contato" action="envia.php" method="post" > Nome:<br/> <input name="fale[nome]" type="text" value="" /> E-mail:<br/> <input name="fale[email]" type="text" value="" /> Assunto:<br/> <input name="fale[assunto]" type="text" value="" /> Mensagem: <br/> <textarea name="fale[mensagem]"></textarea> <input name="enviar" type="submit" value="Enviar" /> </form> <?php include(".../class.phpmailer.php"); $dados = $_REQUEST['fale']; $mail = new PHPMailer(); $mail->IsSMTP(); $mail->IsSMTP(); $mail->From = $dados['email']; $mail->FromName = $dados['nome']; $mail->AddAddress("mateus@gmail.com","Mateus"); $mail->Subject = "Fale conosco – ".$dados['assunto']; $mail->Body = "<b>Nome:</b> ".$dados['nome']." <br /><br /><b>E-mail:</b> ".$dados['email']." <br /><br /><b>Mensagem:</b> ".$dados['mensagem']; if($mail->Send()) echo "E-mail enviado com sucesso"; else echo "Erro ao enviar e-mail, tente novamente mais tarde."; ?> Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Junho 25, 2015 Não está dando certo O que isso quer dizer? Se você não explicar o que acontece, não temos como ajudar Habilite todas as exibições de erro, como mostrado neste tópico e execute o script de novo. Ao postar códigos, use a tag CODE (botão ao lado do botão pra inserir imagem) Compartilhar este post Link para o post Compartilhar em outros sites
Williams Duarte 431 Denunciar post Postado Junho 25, 2015 É possível enviar emails através dos SGDBs, mas não recomendável, devido a travamentos etc.Mas se quer enviar através do DB, de uma olhada aqui e saiba mais sobre pgMail Compartilhar este post Link para o post Compartilhar em outros sites
Mateus P. 0 Denunciar post Postado Junho 26, 2015 O que isso quer dizer? Se você não explicar o que acontece, não temos como ajudar Habilite todas as exibições de erro, como mostrado neste tópico e execute o script de novo. Ao postar códigos, use a tag CODE (botão ao lado do botão pra inserir imagem) Ok vou explicar. Compartilhar este post Link para o post Compartilhar em outros sites
Mateus P. 0 Denunciar post Postado Junho 26, 2015 É possível enviar emails através dos SGDBs, mas não recomendável, devido a travamentos etc. Mas se quer enviar através do DB, de uma olhada aqui e saiba mais sobre pgMail Editei ali a descrição da pergunta veja como está. Compartilhar este post Link para o post Compartilhar em outros sites
Mateus P. 0 Denunciar post Postado Junho 26, 2015 Pronto editei lá a descrição o que será que estão acontecendo fiz todos passos que citei acima. Podem me ajudar. Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Junho 26, 2015 Habilite todas as exibições de erro, como mostrado neste tópico Se fizer isso, verá as mensagens de erro. Seu script tem erro já no começo, aqui: $nome = POST_('nome'); O certo é: $nome = $_POST['nome']; Mais informações: http://php.net/manual/pt_BR/language.types.array.php http://php.net/manual/pt_BR/language.variables.php http://php.net/manual/pt_BR/reserved.variables.post.php http://php.net/manual/pt_BR/tutorial.forms.php Compartilhar este post Link para o post Compartilhar em outros sites