Ir para conteúdo

POWERED BY:

Arquivado

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

Mateus P.

Com enviar um e-mail do postresql localmente para um e-mail do gmail

Recommended Posts

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

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

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

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

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

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

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

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

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

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

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

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

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

É 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

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

É 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

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

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

×

Informação importante

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