Array
(
)

Envio de Email não concluido

Leonardo Xavier
   - 06 fev 2015

Galera , bom dia.
Galera estou com um problema com o recebimento de emails do meu site, não estou conseguindo modificar a conta de email para o recebimento do mesmo.
Na verdade não entendo nada de php, e foi em dado um site para administrar e o formulario esta em php, só que foi me pedido para que eu mudasse a conta de email, ao tentar modificar eu não consigo alguem pode me dar uma ajuda , aonde eu modifico ? se o código esta errado, ?
#Código

<?php 
final class clsEmail
{
	#Atributos
	private $_nome;
	private $_email;
	private $_telefone;
	private $_assunto;
	private $_mensagem;
	
	#Prorpiedades
	public function __set($atributo,$valor)
	{
		$this->$atributo = $valor;
	}
	
	public function __get($atributo)
	{
		return $this->$atributo;
	}
	
	
	public function __construct($pNome="", $pEmail="" , $pTelefone="", $pAssunto="", $pMensagem="")
	{
		$this->_nome = $pNome;
		$this->_email = $pEmail;
		$this->_telefone = $pTelefone;
        $this->_assunto = $pAssunto;
	    $this->_mensagem = $pMensagem;
		
	
	}
	
    #Método EnviaEmail
	public function EnviaEmail()
	{
		$destinatario = "contato@autocentergbg.com.br";
		$rodape = "<p>" . date("d-m-Y")  . "</p>";
		$html = "<html>";
		$html .= "<head>";
		$html .='<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />';
			$html .= '<style media="all" type="text/css">
						#box{width:495px; border:1px dashed #066; margin:0 auto; padding:4px;height:200px}
						#box img{margin:0 auto;}
						#box h3{font-size:11px; padding:2px 4px; margin:0px; background:#CCC; clear:both;}
						#box p{padding:4px; clear:both;}
					</style>';
			$html .="</head>";
		$html .="<body>";
		$html .= "<div id='box'>";
			$html .= "";
			$html .= "<p>";
				$html .= "Nome: " 					. 	$this->_nome 		. 	"
";
				$html .= "E-mail: "				 	. 	$this->_email 		.	"
";
				$html .= "Telefone: "				. 	$this->_telefone 	.	"
";
				$html .= "Assunto: "                . 	$this->_assunto 	.	"
";
				$html .= "Mensagem: "				.	$this->_mensagem	.	"
";
			$html .= "</p>";	
			$html .= $rodape;
		$html .= "</div>";	
		
		// cria um objeto da classe PHPMailer
		$mail             = new PHPMailer();
		$mail -> SMTPDebug = 0;
		$mail->CharSet	= 'UTF-8';
		$mail->SetLanguage("br");						            // DEFINE A LINGUAGEM
		$mail->IsSMTP();								           // ENVIAR VIA SMTP
		$mail->SMTPAuth   = true;                   	          // HABILITA A AUTENTICA��O
		//$mail->SMTPSecure = "ssl";                  	         // CONEXÃO SSL
		$mail->Host       = "mail.autocentergbg.com.br";        // SERVIDOR SMTP
		$mail->Port       = 587;                   		       // PORTA 
		
		$mail->Username   = "contato@autocentergbg.com.br";  // E-MAIL DO USUÁRIO 
		$mail->Password   = "congbg0357";            	    // SENHA DO USUÁRIO
		
		
		$mail->AddAddress($destinatario, $this->_assunto);
		$mail->AddCC("andreijoia@gbgpneus.com.br");
		

		$mail->From       = "contato@autocentergbg.com.br"; 	// EMAIL DO REMETENTE
		$mail->FromName   = "Auto Center GBG";			       // NOME DO REMETENTE
		
		$mail->Subject    = $this->_assunto;			     // ASSUNTO
		
		$mail->Body       = $html;                         // CONTEÚDO HTML
		$mail->WordWrap   = 50;                           // QUEBRA DE LINHA
		
		$mail->MsgHTML($html);

		$mail->IsHTML(true);                           // FORMATO HTML

		if(!$mail->Send())
 			 return false;                           // $mail->ErrorInfo;
		else
  			return true;
			
	}// fim do método
	
	
	function __destruct()
	{}
}
?>

Randrade
   - 06 fev 2015

Primeiro, edite sua pergunta e não coloque sua senha( caso tenha esquecido).

Este formulário é para enviar um E-mail ou para receber um E-mail, tipo no campo de "entre em contato" que geralmente os sites possuem?

Leonardo Xavier
   - 06 fev 2015

E para receber um email

Fabio Santos
   - 06 fev 2015

Com esse código é possivel receber emails?

William (devwilliam)
   - 06 fev 2015

Leonardo aparentemente você está confundindo as funcionalidades, você quer receber na sua caixa de emails as mensagens que são enviados a partir do formulário do seu site.

Fica evidente no seu script que você está querendo usar ele para enviar e-mails pelo seu site, basta ver que você está usando SMTP e porta 587.

Uso esse script no meu site:
#Código

<?php
header('Content-type: text/html; charset=utf-8');

if (isset($_POST['nome'])){

    $nome    = (isset($_POST['nome']))? $_POST['nome']: '';
    $email   = (isset($_POST['email']))? $_POST['email']: '';
    $assunto = (isset($_POST['assunto']))? $_POST['assunto']: '';
    $msg     = (isset($_POST['mensagem']))? $_POST['mensagem']: '';
    
    if (empty($nome) || empty($email) || empty($msg)){
         $array  = array('erro' => 2, 'mensagem' => 'Preencher os campos obrigatórios(*)!');
         echo json_encode($array);
    }else{
        $destino = 'meu_destino@destino.com.br';

        if (empty($assunto)):
           $assunto = "Mensagem enviada pelo site Site";
        endif;

        $mensagem = "Mensagem envia pelo site Site\n";
        $mensagem .= "**********************************************************\n";
        $mensagem .= "Nome: ".$nome."\n";
        $mensagem .= "E-mail: ".$email."\n";
        $mensagem .= "**********************************************************\n";
        $mensagem .= "Mensagem: \n".$msg."\n";

       $retorno = EnviaEmail($destino, $email, $assunto, $mensagem);
       if ($retorno){
           $array  = array('erro' => 0, 'mensagem' => 'Mensagem enviada com sucesso!');
           echo json_encode($array);
        }else{
           $array  = array('erro' => 1, 'mensagem' => 'Infelizmente houve um erro ao enviar sua mensagem!');
           echo json_encode($array);
        }
    }
}

function EnviaEmail($para, $from, $assunto, $mensagem){

    $headers = "From: minha_conta_hospedagem@email.com.br\n";
    $headers .= "Reply-To: $para\n";
    $headers .= "Subject: $assunto\n";
    $headers .= "Return-Path: minha_conta_hospedagem@email.com.br\n";
    $headers .= "MIME-Version: 1.0\n";
    $headers .= "X-Priority: 3\n";
    $headers .= "Content-Type: text/html; charset=UTF-8\n";

    $retorno = mail($para, $assunto, nl2br($mensagem), $headers);
    return $retorno;  
}

?>


Na função EnviaEmail() repare no "minha_conta_hospedagem@email.com.br", aí você coloca sua conta de e-mail fornecida pelo servidor de hospedagem.

Fabio Santos
   - 06 fev 2015

Passar email atraves do site, tipo aqueles formularios de "fale conosco"?

William (devwilliam)
   - 06 fev 2015

Exatamente Fabio!

Randrade
   - 06 fev 2015


Citação:
Leonardo aparentemente você está confundindo as funcionalidades, você quer receber na sua caixa de emails as mensagens que são enviados a partir do formulário do seu site.


Eu também tive a mesma impressão William, por isso perguntei o que ele pretendia com o script.

Mas basta seguir o que o William postou, que você conseguirá deixar funcionando o seu formulário.

Fabio Santos
   - 06 fev 2015


Citação:
Exatamente Fabio!


Obrigado, valeu por confirmar.