/** * Método que envia os e-mails para os professores semanalmente */ public function enviar_newsletter() { set_time_limit(600); if (!$this->configs->status) { //impedindo o envio antes da ativação die('O envio esta desativado'); } if ($this->configs->diaEnvio != (int) date('N')) { //Impedindo o envio fora do dia correto die('Hoje não é dia de envio'); } $professorObj = new Kernel_Models_Contratos(); $constaEnvio = new Kernel_Models_NewsletterContas(); $usuarioSistema = new Kernel_Models_Usuario(); $todos = $professorObj->aceitaReceber(1, $this->configs->destinatariosEspecificos); $mail = new Mail(); while ($professor = $todos->fetchObject()) { $emailDestino = $professor->email; if ($this->configs->efetuarTeste) { $emailDestino = $this->configs->emailTeste; } if (filter_var($emailDestino, FILTER_VALIDATE_EMAIL)) { $token = $usuarioSistema->gerarToken($professor->pk_usuario, Kernel_Models_TiposUsuario::TIPO_PROFESSOR); if ($token) { echo "Enviando para {$professor->nome}({$emailDestino}){$professor->pk_usuario_professor}<br>)"; $mail->mensagemDeModelo(array('titulo' => 'Olá ' . $professor->nome, 'subtitulo' => 'Este é o seu resumo semanal', 'conteudo' => 'Clique <a href="' . base_url() . 'usuario/auth/verificar_acesso/' . $token . '?pagina=' . base_url() . 'agendas/professor/meu_resumo_semanal/' . '">aqui</a> para ver o resumo das suas atividades ')); if ($constaEnvio->enviar($professor->nome, $emailDestino, 'Agenda semanal do professor', $mail->getMensagem())) { echo 'Email enviado com sucesso<br>'; } else { echo 'Falha ao enviar o e-mail para ' . $professor->nome . '<br>' . $constaEnvio->getErros() . '<br>'; } } } } }