Ir para conteúdo

POWERED BY:

Arquivado

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

thiagosvl

phpmailer - erro ao enviar

Recommended Posts

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

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

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.