thiagosvl 1 Denunciar post Postado Setembro 11, 2015 Estou tentando utilizar o PHPMAILER, mas recebo o seguinte erro: Fatal error: Class 'SMTP' not found in /home/u579407707/public_html/phpmailer/class.phpmailer.php on line 1291 Segue a linha 1291: $this->smtp = new SMTP; Abaixo o código do formulário: <form action="envia.php" method="post" id="contato"> <input name="nomeRemetente" placeholder="SEU NOME:" maxlength="50" id="nome" type="text" class="input-texto" required> <input name="email" placeholder="SEU E-MAIL:" maxlength="50" id="email" type="text" class="input-texto" required> <input name="assunto" placeholder="ASSUNTO:" maxlength="150" id="assunto" type="text" class="input-texto" required> <textarea placeholder="Digite aqui sua mensagem!" name="mensagem" id="mensagem" class="form-textarea" required></textarea> <input class="enviar-msg" type="submit" value="Enviar mensagem" name="enviar"> </form> Código envia.php <?php /*apenas dispara o envio da mensagem caso houver/existir $_POST['enviar']*/ if (isset($_POST['enviar'])) { $destinatarios = 'gasparsvl@gmail.com'; $nomeDestinatario = 'Nome do destinatário'; $usuario = 'gasparsvl@gmail.com'; $senha = 'SENHA'; /*abaixo as veriaveis principais, que devem conter em seu formulario*/ $nomeRemetente = $_POST['nomeRemetente']; $assunto = $_POST['assunto']; $_POST['mensagem'] = nl2br('E-mail: '. $_POST['email'] ." ". $_POST['mensagem']); /*********************************** A PARTIR DAQUI NAO ALTERAR ************************************/ include_once("phpmailer/class.phpmailer.php"); $To = $destinatarios; $Subject = $assunto; $Message = $_POST['mensagem']; $Host = 'smtp.'.substr(strstr($usuario, '@'), 1); $Username = $usuario; $Password = $senha; $Port = "587"; $mail = new PHPMailer(); $body = $Message; $mail->IsSMTP(); // telling the class to use SMTP $mail->Host = $Host; // SMTP server $mail->SMTPDebug = 0; // enables SMTP debug information (for testing) // 1 = errors and messages // 2 = messages only $mail->SMTPAuth = true; // enable SMTP authentication $mail->Port = $Port; // set the SMTP port for the service server $mail->Username = $Username; // account username $mail->Password = $Password; // account password $mail->SetFrom($usuario, $nomeDestinatario); $mail->Subject = $Subject; $mail->MsgHTML($body); $mail->AddAddress($To, ""); if(!$mail->Send()) { $mensagemRetorno = 'Erro ao enviar e-mail: '. print($mail->ErrorInfo); } else { $mensagemRetorno = 'E-mail enviado com sucesso!'; } } ?> Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Setembro 12, 2015 Seus arquivos para o envio estão incompletos. Baixe a nova versão da class phpmailer e chame somente o arquivo PHPMailerAutoload.php Compartilhar este post Link para o post Compartilhar em outros sites
thiagosvl 1 Denunciar post Postado Setembro 12, 2015 Seus arquivos para o envio estão incompletos. Baixe a nova versão da class phpmailer e chame somente o arquivo PHPMailerAutoload.php Adicionei a linha á meu codigo. Porém, o erro agora exibido é o seguinte: SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Setembro 12, 2015 Conforme o log, o problema agora é a sua conexão com o SMTP. Cheque os dados e se o smtp está ativo. Veja qual protocolo de segurança ele realmente utiliza, etc. Compartilhar este post Link para o post Compartilhar em outros sites
thiagosvl 1 Denunciar post Postado Setembro 13, 2015 Eu alterei meu código de envia.php segue o novo: <?php require_once('phpmailer/PHPMailerAutoload.php'); // Inicia a classe PHPMailer $mail = new PHPMailer(); // Define os dados do servidor e tipo de conexão // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= $mail->IsSMTP(); // Define que a mensagem será SMTP $mail->Host = "mx1.hostinger.com.br"; // Endereço do servidor SMTP $mail->SMTPAuth = true; // Usa autenticação SMTP? (opcional) $mail->Username = 'email; // Usuário do servidor SMTP $mail->Password = 'SENHA'; // Senha do servidor SMTP // Define o remetente // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= $mail->From = "tuc@tucobracoral.96.lt"; // Seu e-mail $mail->FromName = "Thiago Barros"; // Seu nome // Define os destinatário(s) // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= $mail->AddAddress('fulano@dominio.com.br', 'Fulano da Silva'); $mail->AddAddress('ciclano@site.net'); //$mail->AddCC('ciclano@site.net', 'Ciclano'); // Copia //$mail->AddBCC('fulano@dominio.com.br', 'Fulano da Silva'); // Cópia Oculta // Define os dados técnicos da Mensagem // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= $mail->IsHTML(true); // Define que o e-mail será enviado como HTML //$mail->CharSet = 'iso-8859-1'; // Charset da mensagem (opcional) // Define a mensagem (Texto e Assunto) // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= $mail->Subject = "Mensagem Teste"; // Assunto da mensagem $mail->Body = "Este é o corpo da mensagem de teste, em <b>HTML</b>! :)"; $mail->AltBody = "Este é o corpo da mensagem de teste, em Texto Plano! \r\n :)"; // Define os anexos (opcional) // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= //$mail->AddAttachment("c:/temp/documento.pdf", "novo_nome.pdf"); // Insere um anexo // Envia o e-mail $enviado = $mail->Send(); // Limpa os destinatários e os anexos $mail->ClearAllRecipients(); $mail->ClearAttachments(); // Exibe uma mensagem de resultado if ($enviado) { echo "E-mail enviado com sucesso!"; } else { echo "Não foi possível enviar o e-mail."; echo "<b>Informações do erro:</b> " . $mail->ErrorInfo; } Porém, quando clico em enviar, a página fica carregando por volta de um minuto e em seguida o erro: The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator at admin@main-hosting.eu to inform them of the time this error occurred, and the actions you performed just before this error. More information about this error may be available in the server error log. Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Setembro 14, 2015 Seu problema está no servidor e não no script amigo. Compartilhar este post Link para o post Compartilhar em outros sites