D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
var
/
www
/
html
/
crsys_ant
/
adm
/
app
/
adms
/
Models
/
helper
/
Filename :
AdmsPhpMailer.php
back
Copy
<?php namespace App\adms\Models\helper; use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\Exception; require_once __DIR__ . '/../../../../vendor/autoload.php'; if (!defined('URL')) { header("Location: /"); exit(); } class AdmsPhpMailer { public $Resultado; public $DadosCredEmail; public $Dados; function getResultado() { return $this->Resultado; } public function emailPhpMailer($Dados) { $this->Dados = $Dados; $credEmail = new \App\adms\Models\helper\AdmsRead(); $credEmail->fullRead( "SELECT * FROM adms_confs_emails WHERE id =:id LIMIT :limit", "id=1&limit=1" ); $this->DadosCredEmail = $credEmail->getResultado(); if (!empty($this->DadosCredEmail[0]['host'])) { $this->confEmail(); } else { $_SESSION['msg'] = "<div class='alert alert-danger'>Erro: Necessário inserir as credenciais do e-mail no administrativo para enviar e-mail!</div>"; $this->Resultado = false; } } private function confEmail() { $mail = new PHPMailer(true); try { $mail->isSMTP(); $mail->Host = $this->DadosCredEmail[0]['host']; $mail->SMTPAuth = true; $mail->Username = $this->DadosCredEmail[0]['usuario']; $mail->Password = $this->DadosCredEmail[0]['senha']; $mail->Timeout = 60; // compatibilidade PHPMailer 7 $smtpSecure = strtolower($this->DadosCredEmail[0]['smtpsecure']); if ($smtpSecure == 'ssl') { $mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS; } elseif ($smtpSecure == 'tls') { $mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS; } $mail->Port = $this->DadosCredEmail[0]['porta']; // Remetente $mail->setFrom( $this->DadosCredEmail[0]['email'], $this->DadosCredEmail[0]['nome'] ); // Destinatário $mail->addAddress( $this->Dados['dest_email'], $this->Dados['dest_nome'] ); if (isset($this->Dados['cco_email'])) { $mail->addBCC( $this->Dados['cco_email'], $this->Dados['cco_nome'] ); } if (isset($this->Dados['cc_email'])) { $mail->addCC( $this->Dados['cc_email'], $this->Dados['cc_nome'] ); } // Anexos if (isset($this->Dados['anexo'])) { if (is_array($this->Dados['anexo'])) { foreach ($this->Dados['anexo'] as $arquivo) { if (file_exists($arquivo)) { $mail->addAttachment($arquivo); } } } elseif (is_string($this->Dados['anexo'])) { if (file_exists($this->Dados['anexo'])) { $mail->addAttachment($this->Dados['anexo']); } } } // Conteúdo $mail->isHTML(true); $mail->Subject = $this->Dados['titulo_email']; $mail->Body = $this->Dados['cont_email']; $mail->AltBody = $this->Dados['cont_text_email']; if ($mail->send()) { $_SESSION['msg'] = "<div class='alert alert-success'>E-mail enviado com sucesso!</div>"; $this->Resultado = true; } else { $_SESSION['msg'] = "<div class='alert alert-danger'>Erro ao enviar e-mail: {$mail->ErrorInfo}</div>"; $this->Resultado = false; } } catch (Exception $e) { $_SESSION['msg'] = "<div class='alert alert-danger'>Exceção ao enviar e-mail: {$e->getMessage()}</div>"; $this->Resultado = false; } } }