Envio de Email não concluido
06/02/2015
0
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, ?
<?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() {} } ?>
Leonardo Xavier
Posts
06/02/2015
Randrade
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?
06/02/2015
William
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:
<?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.
06/02/2015
Fabio Santos
06/02/2015
Randrade
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.
Clique aqui para fazer login e interagir na Comunidade :)