Ir para conteúdo

Arquivado

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

marcosvp2

Como Enviar email com php

Recommended Posts

Galera não estou conseguindo enviar email pelo meu formulario!!

 

 

seguir o codigo!

 

<?php
require "../../lib/configPDO.php"; /****conexao com o PDO com o mysql**/
require "../../lib/phpmailer/class.phpmailer.php"; /***incluido o phpmailer p/ enviar email****/
$contato_nome = strip_tags($_POST['contato_nome']);
$contato_email = strip_tags($_POST['contato_email']);
$contato_assunto = strip_tags($_POST['contato_assunto']);
$contato_mensagem = strip_tags($_POST['contato_mensagem']);
if(isset($_GET['op']) and $_GET['op']=='contatos'){
try {
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
$contato = $pdo->prepare("INSERT INTO contato
(contato_nome,
contato_email,
contato_assunto,
contato_mensagem)
VALUES(?,?,?,?)
");
$contato->bindParam(1, $contato_nome);
$contato->bindParam(2, $contato_email);
$contato->bindParam(3, $contato_assunto);
$contato->bindParam(4, $contato_mensagem);
$contato->execute();
/*comerço do email*/
$mail = new PHPMailer();
$mail->setLanguage('pt');
//Define o dados do servidor
$mail->IsSMTP();
$mail->Host = "smtp.mcaprender22.890m.com"; //Endereco do Servidor SMTP
$mail->SMTPAuth = true; //usando Autenticacao SMTP (Opicional)
$mail->SMTPDebug = false;
$mail->Port = 21;
$mail->Username = 'marcos_cavalcante1986@hotmail.com';
$mail->Password = 'minha senha do hotmail';
//Define o remetente
$mail->From = "marcos_cavalcante1986@hotmail.com";
$mail->FromName = "MCAprender";
//Define o Destinatario
$mail->AddAddress($contato_email, $contato_nome);
$mail->AddCC('marcos_cavalcante1986@hotmail.com', 'Eu');
$mail->IsHTML(true);
$mail->CharSet = 'utf-8';
$mail->Subject = $contato_assunto;
$mail->Body = $contato_mensagem;
if ($mail->Send()){
echo 'Email Enviado com Sucesso!';
}else{
echo 'Email Nao foi Enviado!'.$mail->ErrorInfo;
}catch (PDOException $e) {
echo $e->getMessagem();
}//catch
}
?>
Email Nao foi Enviado!Message body empty
não estou conseguindo configurar p/ receber o email!! agradeco a todos !!

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

deixe SMTPDebug em true para ver onde está o problema

 

Alguns pontos:

1. Pora 21. 21 é porta de FTP, não de SMTP. Geralmente usa-se 25, 465 ou 587

2. SMTPHost é um endereço, mas você diz usar credenciais do Hotmail. Precisa usar o SMTP do Hotmail, então

Compartilhar este post


Link para o post
Compartilhar em outros sites

e um servidor gratis !! http://www.hostinger.com.br/

 

o galera estou fazendo assim !!

 

<?php
/*obs:1 usando tegues do php curta < > tem que ativar a shot_open_tags p/ funcionar no desenvolvimento!
obs2:Usando tegues do php curta < > Mas procure não fazer isso.
Se acostume a usar a tag completa pq vai dar bung quando colocar o site no AR*/
/****conexao com o PDO com o mysql**/
require "../../lib/configPDO.php";
/***incluido o phpmailer p/ enviar email****/
require "../../lib/phpmailer/class.phpmailer.php";
/******RESOLVER PROBLEMAS DE ERROS EM ACENTOS****/
// require "../erros/Conserta-Erros-Acento.php";
/***************SETANDO CAMPOS DO FORMULARIO***********/
$contato_nome = strip_tags($_POST['contato_nome']);
$contato_email = strip_tags($_POST['contato_email']);
$contato_assunto = strip_tags($_POST['contato_assunto']);
$contato_mensagem = strip_tags($_POST['contato_mensagem']);
if(isset($_GET['op']) and $_GET['op']=='contatos'){
try {
/*****INCLUIR DADOS NA TABELA CONTATO NO BANCO DE DADOS*****/
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
$contato = $pdo->prepare("INSERT INTO contato
(contato_nome,
contato_email,
contato_assunto,
contato_mensagem)
VALUES(?,?,?,?)
");
$contato->bindParam(1, $contato_nome);
$contato->bindParam(2, $contato_email);
$contato->bindParam(3, $contato_assunto);
$contato->bindParam(4, $contato_mensagem);
$contato->execute();
/*comerço do email*/
$mail = new PHPMailer();
$mail->setLanguage('pt');
//Define o dados do servidor
$mail->IsSMTP();
$mail->Host = "smtp.mcaprender22.890m.com"; //Endereco do Servidor SMTP
$mail->SMTPAuth = true; //usando Autenticacao SMTP (Opicional)
$mail->SMTPDebug = true;
$mail->Port = 587;
$mail->Username = 'marcos_cavalcante1986@hotmail.com';
$mail->Password = 'minha senha do hotmail';
//Define o remetente
$mail->From = "marcos_cavalcante1986@hotmail.com"; // seu email
$mail->FromName = "MCCursos"; //meu nome
//Define o Destinatario
$mail->AddAddress($contato_email, $contato_nome);
$mail->AddCC('marcos_cavalcante1986@hotmail.com', 'Eu');
// Iremos enviar o email no formato HTML
$mail->IsHTML(true);
//Define a Mensagem (Texto/Assunto)
$mail->CharSet = 'utf-8';
$mail->Subject = $contato_assunto;
//$mail->Body = $contato_mensagem;
$mail->Body = 'Teste de mensagem';
if ($mail->Send()){
//echo 'Email Enviado com Sucesso!';
echo '<script>alert("Email Enviado com Sucesso!");location.href="../../home"</script>';
}else{
echo 'Email Nao foi Enviado!'.$mail->ErrorInfo;
}catch (PDOException $e) {
//echo $e->getMessagem();
}//catch
}//isset
?>
esta dando esse erro !!

Parse error: syntax error, unexpected 'catch' (T_CATCH) in /home/u499124809/public_html/modulos/contato/funContato.php on line 72

Compartilhar este post


Link para o post
Compartilhar em outros sites

É só um erro de sintaxe. O PHP diz exatamente qual é o problema. Leia mais sobre isso neste link: http://rberaldo.com.br/as-mensagens-de-erros-mais-comuns-do-php/#parse_error

 

O erro diz que há um "catch" não esperado. Veja que antes do catch você está fechando as chaves do else. Mas tem que fechar a do try também

 

Veja a sintaxe aqui:

http://php.net/manual/pt_BR/language.exceptions.php

Compartilhar este post


Link para o post
Compartilhar em outros sites

galera!!

 

mudei a porta para 25

no meu HOST: esta assim ---> ftp.mcaprender22.890m.com

 

e agora esta dando esse erro!!

 

SMTP -> ERRO: Falha ao conectar ao servidor: Conexão recusada (111) ! O seguinte endereço De falhou: marcos_cavalcante1986@hotmail.com Mande Nao foi Enviado O seguinte endereço De falhou: marcos_cavalcante1986@hotmail.com

 

 

desde ja agradeco!! a ajudar galera!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

não adianta fazer bingo, tem que saber a porta utilizada.

Poucos usam a porta 25 hoje. Ela é de SMTP sem SSL. Geralmente são usadas 465 ou 587. Verifique a porta correta e a criptografia com seu provedor de serviço (neste caso, o Hotmail deve dizer isso tudo na central de ajuda)

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.