Classe não funciona
// Arquivo 1
<?php
namespace admin\controls;
class report_bug
{
/ Pasta para salvar o arquivo de log - default = logs /
protected $patch_log = '/logs';
/* Host em que o sistema está hospedado e enviará o e-mail */
protected $host = 'smtp.example.com.br';
/* Endereço do e-mail de envio */
protected $email_auth = 'errors_log@example.com.br';
/* Senha para autenticação */
protected $pass_auth = '********';
/* E-mail que receberá os logs. - Não altere está linha */
protected $email_send = 'errors_log@example.com.br';
/* Site name - Identificador da origem do erro */
protected $site_name = 'Site - example.com.br';
/* Página, script ou ação que gerou o erro */
private $source_error;
/* Error - Pode ser erro do sistema ou personalizado */
private $error_message = 'Default Message';
/* Tipo do erro - Desconhecido, warning, error, info */
private $error_type;
/* Data e hora do erro */
private $error_time;
public function __construct($source, $message, $type, $time)
{
$this->source_error = $source;
$this->error_message = $message;
$this->error_type = $type;
$this->error_time = $time;
}
public function sendMail()
{
require_once($_SERVER['DOCUMENT_ROOT'].'/libs/PHPMailer/PHPMailerAutoload.php');
$Email = new PHPMailer();
$send = $Email->IsSMTP(); // set mailer to use SMTP
$send = $Email->SMTPAuth = true; // turn on SMTP authentication
$send = $Email->Host = "smtp.example.com.br";
$send = $Email->Username = "errors_log@example.com.br";
$send = $Email->Password = "********";
$send = $Email->SMTPsecure = 'tls' ;
// na classe, há a opção de idioma, setei como br
$send = $Email->SetLanguage("br");
// esta chamada diz que o envio será feito através da função mail do php. Você mudar para sendmail, qmail, etc
// se quiser utilizar o programa de email do seu unix/linux para enviar o email
//$Email->IsMail(); // ativa o envio de e-mails em HTML, se false, desativa.
$send = $Email->IsHTML(true);
// responder para
// email do remetente da mensagem
$send = $Email->From = 'errors_log@example.com.br';
// nome do remetente do email
$send = $Email->FromName = 'site fácil';
// Endereço de destino do email, ou seja, pra onde você quer que a mensagem do formulário vá?
$send = $Email->AddAddress("errors_log@example.com.br");
// informando no email, o assunto da mensagem
$send = $Email->Subject = 'teste ';
// Define o texto da mensagem (aceita HTML)
$send = $Email->Body .= "<p><strong>E-mail enviado pelo visitante: </strong> </p><br>";
$send = $Email->Body .= "<p><strong>E-mail do visitante: </strong> </p><br>";
$send = $Email->Body .= "<p><strong>Telefone do visitante: </strong> </p><br>";
$send = $Email->Body .= "<p><strong>Mensagem do visitante: </strong><p>";
$send = $Email->Send();
if(!$send )
{
echo 'não foi';
echo "Erro: " .$send = $Email->ErrorInfo;
}else{
echo 'foi';
}
}
}
// Arquivo 2
<?php
require_once ($_SERVER['DOCUMENT_ROOT'].'/config/autoload.php');
$error_log = new admin\controls\report_bug($_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'], 'teste de envio de e-mail.', 'WARNING', $time);
$error_log->sendMail();
Estou começando a trabalhar com classes, tenho dificuldades de entender certas coisas.Por exemplo: não sei o que estou fazendo de errado nessa classe, PHPMailer funciona perfeitamente fora dessa classe, mais ai dentro não funciona e nenhum erro é me retornado.
Discussão (3)
Carregando comentários...