Exemplo n.º 1
0
 public function enviarPacote($de = '', $html = false)
 {
     Email::$msg = $this->getTexto()->texto;
     if ($html) {
         Email::$html = $html;
     }
     if ($de) {
         Email::$de = $de;
     }
     Email::$assunto = $this->getTexto()->titulo;
     if ($this->getStatus() == self::PARADO) {
         self::criarListaParaEnvio($this);
     }
     $l = new Lista('mailing_pacotes_envio');
     $l->condicoes('', $this->getId(), 'mailing');
     $total = $l->getTotal();
     if ($total > Sistema::$emailsPorHora) {
         $l->setParametros(Sistema::$emailsPorHora, 'limite');
         $this->setStatus(self::ENVIANDO);
     } else {
         $this->setStatus(self::PARADO);
     }
     $lM = new ListaMailings();
     $lM->alterar($this);
     $con = BDConexao::__Abrir();
     while ($rs = $l->listar()) {
         Email::$para = $rs['email'];
         Email::enviar();
         $con->executar("DELETE FROM " . Sistema::$BDPrefixo . "mailing_pacotes_envio WHERE mailing = '" . $this->getId() . "' AND email = '" . $rs['email'] . "'");
         $l->setParametros(0);
         $l->setParametros($l->getParametros('limite') - 1, 'limite');
     }
 }