Ir ao conteúdo
  • Cadastre-se

Função mail php, emails não chegam


Pedro Guilherme

Posts recomendados

  • Moderador

Então,

Antes de mais nada, deves lembrar que:

se você está tentando rodar em localhost, deve habilitar a extensão openssl no arquivo php.ini

Depois acessar as configurações do Gmail para permitir que você use as suas credenciais sem estar no gmail, que por padrão está Negada(talvez por questões de segurança) 

vi no seu código algumas coisas desnecessárias e algumas outras faltando.

$email  ="Seu e-mail";$assunto  = "Teste do phpmailer 5.1";$mensagem  = "Estou testando a classe! se eu ler isso é porque funcionou!";$remetente = "Seu nome";$destinatario = "e-mail de quem você quer enviar";date_default_timezone_set('America/Sao_paulo');require_once('lib/class.phpmailer.php');include("lib/class.smtp.php");//cria uma instância da classe PHPMailer()$mail             = new PHPMailer();//Conteúdo em html$body             = file_get_contents('contents.html');//Define linguguagem$mail->SetLanguage("br");$mail->IsSMTP();  /* * Use este caso não utilize a função MsgHTML() * $mail->IsHTML(true); *///Concatena as variáveis $mensagem e $body$msg = $mensagem . $body;//Definições do host$mail->SMTPAuth   = true;                  $mail->SMTPSecure = "ssl";                 $mail->Host       = "smtp.gmail.com";      $mail->Port       = 465;                   //Credenciais do Gmail$mail->Username   = "seu usuário";  $mail->Password   = "sua senha";  //Nome de quem está enviando$mail->FromName   = $remetente; //Email de quem está enviando$mail->From       = $email; //Assunto$mail->Subject    = $assunto;/* * Use este se não for usar html ou se for usar html, habilite * a visualização com a função IsHTML(true) * $mail->Body = $mensagem; *///Mensagem caso$mail->AltBody    = "To view the message, please use an HTML compatible email viewer!"; //Destinatário$mail->AddAddress($destinatario);//O mesmo que IsHTML(), só que automático$mail->MsgHTML($msg);if(!$mail->Send()) {  echo "Mailer Error: " . $mail->ErrorInfo;} else {  echo "Message sent!";}

Note que na linha 16, você pega o conteúdo de um arquivo html chamado contens.html.. se ele estiver vazio, você não receberá nada no email.

 

use esse exemplo do contents.html:

<!DOCTYPE html><html lang="pt-br"><head><meta charset="ISO-8859-1"><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"><title>Insert title here</title></head><body><div style="width: 300px; height: 100px; background:red; border: 1px solid #000; color:black;">	<h2 style="font-family: arial;display: block">Teste! teste!</h2>	<p style="display: block; font-family: arial; font-size: 10pt">Lorem ipsum Abscatteum arcanis ong bak!</p>	</div></body></html>

Veja que usei estilização inline.  pois o email não reconhece arquivos .css

 

eu testei aqui e funcionou perfeitamente!

 

ps: Se você está tentando testar online, no servidor... recomendo que entre em contato com seu host para solicitar que a extensão openssl seja habilitada( caso não esteja)

Link para o comentário
Compartilhar em outros sites

Retornou á esse erro:

SMTP Error: Could not connect to SMTP host. Mailer Error: SMTP Error: Could not connect to SMTP host.

Chequei as informações ( email e senha ) e está tudo ok

EDIT:Habilitei a função no php.ini e foi.Mas no servidor pago está com esse erro, tem como arrumar?

Link para o comentário
Compartilhar em outros sites

  • Moderador

Como mencionei no post #27 bem no final.

Você precisa entrar em contato com seu host, solicitando que a extensão openssl seja habilitada, pois você não tem acesso a configuração.

Como você pediu para atualizar seu php no servidor, peça para eles habilitarem a extensão.. só assim.

Link para o comentário
Compartilhar em outros sites

  • Moderador

Sobre a imagem, é só adicionar no arquivo contents.html..   usar:

<img src="http://www.seusite.com.br/img/logo.jpg" alt="logo">

sobre a extensão,  sim, eles habilitam sem problemas. mas é bom você deixar claro que você quer usar a extensão openssl do PHP para envio de e-mails via gmail e não o certificado SSL(https)

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...