Ejemplo 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');
     }
 }
Ejemplo n.º 2
0
 /**
  * Salvar e enviar o registro de contato
  */
 public function enviar()
 {
     $this->salvar();
     # Enviar por e-mail
     if (class_exists('Email')) {
         if ($this->modelo->assunto > 0) {
             $ma = new ContatoM\AssuntoContato();
             $la = end($ma->listar("assunto_contato_id = {$this->modelo->assunto}", null, 'assunto_contato_descr, assunto_contato_email'));
             $as = $la['assunto_contato_descr'];
             $pa = $la['assunto_contato_email'];
         } else {
             $as = MSG_NAO_INFORMADO;
             $pa = '*****@*****.**';
         }
         // Fim if
         # Montar o assunto e o corpo do e-mail
         $assunto = sprintf(TXT_EMAIL_ASSUNTO_CONTATOSITE, $h = filter_input(INPUT_SERVER, 'HTTP_HOST'), $as);
         $corpo = sprintf(TXT_EMAIL_CONTEUDO_CONTATOSITE, $h, $this->modelo->nome, $this->modelo->email, $this->modelo->telefone, $as, nl2br($this->modelo->mensagem));
         /*
          * Enviar o e-mail utilizando a configuração feita pelo Painel-DL
          */
         $conf_site = new GeralM\ConfiguracaoSite();
         $om = new \Email();
         $e = $om->enviar($pa, $assunto, $corpo, $conf_site->getEmail());
         $om->gravarLog(__CLASS__, $this->modelo->bd_tabela, $this->modelo->id, $assunto, $corpo, $pa);
         if (!$e) {
             throw new \DL3Exception(sprintf(ERRO_CONTATOSITE_ENVIO_EMAIL, $om->exibirLog()), 1500);
         }
         // Fim if
     }
     // Fim if
     \Funcoes::mostrarMsg(SUCESSO_CONTATOSITE_ENVIADO, '-sucesso');
 }
Ejemplo n.º 3
0
 public function enviarEmail()
 {
     $e = new Email();
     $e->remetenteNome = $this->nome;
     $e->remetenteEmail = $this->email;
     $e->assuntoEmail = $this->assunto;
     $e->conteudoEmail = $this->menssagem;
     return $e->enviar();
 }
Ejemplo n.º 4
0
 /**
  * Testar uma determinada configuração de envio de e-mail]
  *
  * @param int $pk ID da configuração a ser testada
  *
  * @return mixed
  * @throws \DL3Exception
  */
 protected function testar($pk)
 {
     if (!class_exists('Email')) {
         throw new \DL3Exception(sprintf(ERRO_PADRAO_CLASSE_NAO_ENCONTRADA, 'Email'), 1500);
     }
     // Fim if
     $this->modelo->selecionarPK($pk);
     $oe = new \Email();
     $te = $oe->enviar(session_status() === PHP_SESSION_ACTIVE ? $_SESSION['usuario_info_email'] : $this->modelo->responder_para, TXT_EMAIL_ASSUNTO_TESTE, sprintf(TXT_EMAIL_CONTEUDO_TESTE, $this->modelo->titulo, $this->modelo->host, $this->modelo->porta, filter_input(INPUT_SERVER, 'HTTP_HOST')), $pk);
     $oe->gravarLog(__CLASS__, $this->modelo->bd_tabela, $this->modelo->id);
     if (!$te) {
         throw new \DL3Exception(sprintf(ERRO_CONFIGEMAIL_TESTAR, $oe->exibirLog()), 1500);
     }
     // Fim if
     \Funcoes::mostrarMsg(SUCESSO_CONFIGEMAIL_TESTAR, '-sucesso');
 }
Ejemplo n.º 5
0
 public function recuperarSenha($email)
 {
     $msg = array();
     $idUsuario = Usuario::buscaPorEmail($email);
     if (!$idUsuario) {
         $msg[] = "E-mail não cadastrado";
     } else {
         $novaSenha = Usuario::getNovaSenha();
         $objUsuario = new Usuario();
         $objUsuario->id = $idUsuario;
         $objUsuario->carregar();
         $objUsuario->senha = md5($novaSenha);
         if ($objUsuario->alterar()) {
             Email::enviar($objUsuario->email, "Nova Senha", "esqueci-senha.html", array('nome' => $objUsuario->nome, 'email' => $objUsuario->email, 'telefoneSite' => $_SESSION['s3'][NOMESITE]['config']['telefone'], 'emailSite' => $_SESSION['s3'][NOMESITE]['config']['email-contato'], 'novaSenha' => $novaSenha));
             $msg[] = "Nova senha foi enviada por e-mail";
         }
     }
     return $msg;
 }
Ejemplo n.º 6
0
 public static function mostrar($mensaje = '')
 {
     // IDEA obtener la instancia de Slim (como se hace aquí) en todos los métodos que la requieran para evitar tener que pasar la referencia en todas las llamadas
     $app = \Slim\Slim::getInstance();
     global $twig;
     $r = Dictado::escuchar($app->db, Login::getEmail());
     if (is_null($r)) {
         $valores['message'] = "¡<b>Enhorabuena</b>! <br>A día de hoy ha realizado correctamente todos nuestros dictados. <br> ¿Se animaría a <a href='/dictado/crear'>crear uno nuevo</a>?";
         // Avisamos al administrador que alguien ha conseguido realizar todos los dictados para que cree alguno nuevo
         Email::enviar(Email::ADMIN_EMAIL, 'Dictados agotados', Email::getMessageDictadosTerminados(Login::getEmail()));
     } else {
         $valores = array('dictado' => json_encode($r), 'id_dictado' => $r['ID']);
         // IDEA Sería interesante que este mensaje desapareciese al rato de aparecer en pantalla
         if ($mensaje != '') {
             $valores['message'] = $mensaje;
         }
         if (!Login::isLogged()) {
             $valores['consejo'] = "Para evitar dictados repetidos, <a href='/usuario/login'><strong>identifícate</strong></a>";
         }
     }
     echo $twig->render('dictadoEscuchar.php', $valores);
 }
Ejemplo n.º 7
0
 public function cadastraCliente($nome, $email, $foto, $idPlano, $valor)
 {
     $_POST['cliente']['nome'] = $nome;
     $_POST['cliente']['email'] = $email;
     $_POST['cliente']['foto'] = $foto;
     $_POST['cliente']['ativo'] = 's';
     $_POST['cliente']['dataCadastro'] = DATAHORAMYSQL;
     $novaSenha = Cliente::getNovaSenha();
     $_POST['cliente']['senha'] = md5($novaSenha);
     //MOVER FOTO DE PASTA
     if (file_exists(PATHUPLOAD . 'pre-cliente/' . $foto)) {
         $origem = PATHUPLOAD . 'pre-cliente/' . $foto;
         $destino = PATHUPLOAD . 'cliente/' . $foto;
         copy($origem, $destino);
         unlink($origem);
     }
     //CADASTRA CLIENTE
     $objCliente = new Cliente($_POST['cliente']);
     if ($objCliente->inserir()) {
         //GERAO PEDIDO DA COMPRA DO PLANO ESCOLHIDO
         Pedido::cadastrarPedido($objCliente->id, $valor, $idPlano, 1);
         //CADASTRA PLANO ESCOLHIDO
         Planos::cadastrarClientePlano($objCliente->id, $idPlano, $valor);
         //ENVIA E-MAIL PARA CLIENTE INFORMANDO LOGIN E SENHA COM LINK DE ACESSO
         $objPlanos = new Planos();
         $objPlanos->id = $idPlano;
         $objPlanos->carregar();
         $_POST['email']['nome'] = $objCliente->nome;
         $_POST['email']['email'] = $objCliente->email;
         $_POST['email']['senha'] = $novaSenha;
         $_POST['email']['plano'] = $objPlanos->titulo;
         $_POST['email']['valor'] = $valor;
         $_POST['email']['linkAcesso'] = URLRAIZ . '/painel/login.php';
         $_POST['email']['topo'] = Email::topoEmail();
         $_POST['email']['rodape'] = Email::rodapeEmail();
         Email::enviar($objCliente->email, 'Acesso para finalizar compra', 'cliente-login-acesso.html', $_POST['email']);
     }
 }
Ejemplo n.º 8
0
            $_POST['contato']['sitemail'] = $_SESSION['s3'][NOMESITE]['config']['email-contato'];
            $_POST['contato']['aux'] = '';
            if (isPost($_POST['contato']['telefone'])) {
                $_POST['contato']['aux'] = '<p>Telefone: <b>' . $_POST['contato']['telefone'] . '</b></p>';
            }
            if (isPost($_POST['contato']['mensagem'])) {
                $_POST['contato']['aux'] .= '<p>Mensagem: <b>' . $_POST['contato']['mensagem'] . '</b></p>';
            }
            $_POST['contato']['urlraiz'] = URLRAIZ;
            $data = $_POST['contato']['data'];
            $data2 = date('d/m/Y H:i');
            $_POST['contato']['lido'] = 'n';
            if (isPost($_POST['contato']['idEmpreendimento'])) {
                $objContato = new EmpreendimentoContato($_POST['contato']);
            } else {
                $objContato = new Contato($_POST['contato']);
            }
            if ($objContato->inserir()) {
                Email::enviar($_SESSION['s3'][NOMESITE]['config']['email-contato'], 'Contato pelo site', 'contato.html', $_POST['contato']);
                //Email::enviar($_POST['contato']['email'],'House System','contato-obrigado.html',$_POST['contato']);
                echo 'Mensagem enviada.';
            }
        } else {
            echo '* Digite sua Mensagem.';
        }
    } else {
        echo '* Informe seu nome.';
    }
} else {
    echo '* Email Informado inválido.';
}
Ejemplo n.º 9
0
 public function recuperarSenha($email)
 {
     $msg = array();
     $idCliente = Cliente::buscaPorEmail($email);
     if (!$idCliente) {
         $msg[] = "E-mail não cadastrado";
     } else {
         $novaSenha = Cliente::getNovaSenha();
         $objCliente = new Cliente();
         $objCliente->id = $idCliente;
         $objCliente->carregar();
         $objCliente->senha = md5($novaSenha);
         if ($objCliente->alterar()) {
             $_POST['senha']['nome'] = $objCliente->nome;
             $_POST['senha']['email'] = $objCliente->email;
             $_POST['senha']['novaSenha'] = $novaSenha;
             $_POST['senha']['linkAcesso'] = URLRAIZ . '/painel/login.php';
             $_POST['senha']['topo'] = Email::topoEmail();
             $_POST['senha']['rodape'] = Email::rodapeEmail();
             Email::enviar($objCliente->email, 'Recuperação de senha', 'esqueci-senha.html', $_POST['senha']);
             $msg[] = "Nova senha foi enviada por e-mail";
         }
     }
     return $msg;
 }
Ejemplo n.º 10
0
 /**
  * Recuperar senha
  *
  * Enviar um e-mail ao usuário com um link para resetar a senha
  */
 public function recuperarSenha()
 {
     $le = filter_input(INPUT_POST, 'login', FILTER_SANITIZE_STRING);
     $mu = new AdminM\Usuario();
     $lu = $mu->listar("usuario_info_login = '******' OR usuario_info_email = '{$le}'", null, 'usuario_id, usuario_info_nome, usuario_info_email', 0, 1, 0);
     if ($lu === false) {
         throw new \DL3Exception(ERRO_LOGIN_RECUPERARSENHA_USUARIO_NAO_LOCALIZADO, 1404);
     }
     // Fim if
     /*
      * Quando houver uma solicitação em aberto, expirá-la e criar uma nova
      */
     $mr_e = new LoginM\Recuperacao();
     $mr_e->selecionarUK(['usuario', 'status'], [$lu['usuario_id'], 'S']);
     if (!$mr_e->reg_vazio) {
         $mr_e->setStatus('E');
         $mr_e->salvar(true, ['recuperacao_id', 'recuperacao_status']);
     }
     // Fim if
     /*
      * Criar uma nova solicitação de recuperação de senha
      */
     $mr_s = new LoginM\Recuperacao();
     $mr_s->setStatus('S');
     $mr_s->setUsuario($lu['usuario_id']);
     $mr_s->setHash(date(\DL3::$bd_dh_formato_completo));
     $mr_s->salvar(true, ['recuperacao_status', 'recuperacao_usuario', 'recuperacao_hash']);
     # Link de recuperação da senha
     $lk = \DL3::$host_completo . "login/recuperar-senha/{$mr_s->getHash()}";
     if (!class_exists('Email')) {
         throw new \DL3Exception(ERRO_LOGIN_RECUPERARSENHA_CLASSE_ENVIO_EMAIL_NAO_LOCALIZADA, 1404);
     }
     // Fim if
     # Enviar o e-mail
     $corpo = sprintf(TXT_EMAIL_CORPO_RECUPERAR_SENHA, $lu['usuario_info_nome'], $lk, $lk);
     $obj_e = new \Email();
     $obj_e->enviar($lu['usuario_info_email'], TXT_EMAIL_ASSUNTO_RECUPERACAO_SENHA, $corpo);
     $obj_e->gravarLog(__CLASS__, 'dl_painel_usuarios_recuperacoes', $mr_s->getId(), TXT_EMAIL_ASSUNTO_RECUPERACAO_SENHA, $corpo, $lu['usuario_info_email']);
     \Funcoes::mostrarMsg(sprintf(SUCESSO_LOGIN_RECUPERARSENHA, $lu['usuario_info_email']), '-sucesso');
 }
	if($usuario->registrar($nombre_usuario, $clave_usuario, $email_usuario, $codigo_autorizacion)){
				
		$diccionario = array( 
							  '{usuario_minusculas}' => ucfirst(strtolower($nombre_usuario)),
							  '{url_icos}' => $APP->urlApp,
							  '{usuario}' => $nombre_usuario,
							  '{codigo_autorizacion}' => $codigo_autorizacion
							);		
							
		$plantilla = View::template("Email/activar-cuenta-html.html");		
		$cuerpo_email_html = View::render($plantilla, $diccionario);
		
		$plantilla = View::template("Email/activar-cuenta-texto.html");
		$cuerpo_email_texto = View::render($plantilla, $diccionario);	
				
		$resultado = Email::enviar( $email_usuario, 'Activacion de Cuenta ICOS', $cuerpo_email_html, $cuerpo_email_texto );
		
		if($resultado->enviado){
			$usuario_tmp_creado = true;
		}
		else{
			$usuario_tmp_creado = false;
		}
				
	}
	else{
		$usuario_tmp_creado = false;
	}	
	
	//------------------------------------------------------------------------------------------
	// Genero una respuesta
Ejemplo n.º 12
0
<?php

require '../lib/mailer/email.php';
require '../lib/template/template.php';
//dados do usuario
$dados = (object) $_GET;
//template do email
$template = new Template(file_get_contents(__DIR__ . '/email.html'));
//dados da empresa
$template->inject('#SITE#', 'http://www.zappragas.com.br');
$template->inject('#DATA#', date('d/m/Y'));
//injeta dados do usuario no email
$template->inject('#NOME#', $dados->nome);
$template->inject('#TELEFONE#', $dados->telefone);
$template->inject('#NESTA_DATA#', $dados->data);
$template->inject('#NESTA_HORA#', $dados->hora);
$template->inject('#ASSUNTO#', $dados->assunto);
//injeta dados da empresa no email
$template->inject('#EMAIL_EMPRESA#', '');
$template->inject('#TELEFONE_EMPRESA#', '');
//envia o email
$email = new Email();
$email->de = '*****@*****.**';
$email->nome = 'ZapContato';
$email->assunto = 'ME LIGUE - Site';
$email->conteudo = $template->render();
$email->enviar(array('*****@*****.**'));
Ejemplo n.º 13
0
<?php

require '../lib/mailer/email.php';
require '../lib/template/template.php';
//dados do usuario
$dados = (object) $_GET;
//template do email
$template = new Template(file_get_contents(__DIR__ . '/orcamento.html'));
//dados da empresa
$template->inject('#SITE#', 'http://www.zappragas.com.br');
$template->inject('#DATA#', date('d/m/Y'));
//injeta dados do usuario no email
$template->inject('#NOME#', $dados->nome);
$template->inject('#EMAIL#', $dados->email);
$template->inject('#TELEFONE#', $dados->telefone);
$template->inject('#PRAGA_ALVO#', $dados->pragaAlvo);
$template->inject('#DESCRICAO#', $dados->descricao);
//injeta dados da empresa no email
$template->inject('#EMAIL_EMPRESA#', '');
$template->inject('#TELEFONE_EMPRESA#', '');
//envia o email
$email = new Email();
$email->de = '*****@*****.**';
$email->nome = 'ZapContato';
$email->assunto = 'ORCAMENTO - Site';
$email->conteudo = $template->render();
$email->enviar(array('*****@*****.**'));
$email->enviar(array($dados->email));
Ejemplo n.º 14
0
                        Um abra&ccedil;o da equipe da <a href=http://capsuladotempo.net>C&aacute;psula do Tempo</a>
                      </div>
                    </body>
                  </html>';
            $this->mail->AltBody = "Olá " . $toMessage . ", há algum tempo " . $fromMessage . " mandou uma mensagem para ser aberta hoje. Pronto para conferir?\n                              Esta foi a mensagem: " . $txtMessage . "\n                               Que seus sonhos se realizem e que você faça desse um mundo ainda melhor!\n                              Um abraço da equipe da Cápsula do Tempo http://capsuladotempo.net";
            if (!$this->mail->send()) {
                echo "Messagem não enviada! Sequencial: " . $seqMessage;
                echo " - Erro: " . $this->mail->ErrorInfo . "\n";
            } else {
                //Mensagem enviada
                //Atualizar a mensagem para enviada
                $atualizada = $this->timeCapsuleDAO->atualizarCapsulaEnviada($seqMessage);
                if ($atualizada) {
                    echo "Cápsula enviada! Sequencial: " . $seqMessage . "\n";
                } else {
                    echo "Erro ao atualizar a mensagem para enviada! Sequencial: " . $seqMessage . "\n";
                }
            }
        }
    }
    public function __destruct()
    {
        $this->timeCapsuleDAO = NULL;
        $this->mail = NULL;
    }
}
//Envia os emails do dia
$obj = new Email();
$obj->configurar();
$obj->enviar();
Ejemplo n.º 15
0
$twig->addGlobal('login', new Login());
// Para poder consultar si existe sesión de usuario abierta
$app->container->singleton('db', function () {
    return new \PDO('sqlite:model/dictados.db');
});
$app->get('/', function () use($app) {
    global $twig;
    echo $twig->render('inicio.php');
});
$app->group('/usuario', function () use($app) {
    // Acción asociada al formulario de login
    $app->post('/autorizar', function () use($app) {
        global $twig;
        $user = $app->request->post('email');
        // IDEA comprobar que el correo es correcto y no nos la intentan "colar" (PHP tiene métodos 'sanitize')
        Email::enviar($user, 'Solicitud de acceso', Email::getMessageAutenticacion($user, Login::generarTokenAutenticacion($app->db, $user)));
        echo $twig->render('usuarioLogin.php', array('email' => $user));
    });
    $app->get('/login', 'Login::forzarLogin', function () use($app) {
    });
    // Cierra la sesión de usuario
    $app->get('/logout', function () use($app) {
        global $twig;
        unset($_SESSION['user']);
        session_destroy();
        echo $twig->render('inicio.php');
    });
    // Accion asociada al email de login
    $app->get('/autenticar/:token', function ($token) use($app) {
        $email = $app->request->get('email');
        // Si intentan autenticarse (estando ya logados en el sistema) ignoramos el token vílmente
Ejemplo n.º 16
0
 public function enviarOrdemServicoPorEmail()
 {
     $oLogOrdemServico = LogOrdemServico::model()->finalizada()->findByAttributes(array('ordem_servico_id' => $this->id));
     $oEmail = new Email();
     $oEmail->destinatarios = $this->cliente->email;
     $oEmail->assunto = Yii::app()->name . ' - Finalização de Ordem de Serviço Nº ' . $this->id;
     $oEmail->mensagem = 'Número da Ordem de Serviço: ' . $this->id . '<br/>';
     $oEmail->mensagem .= 'Cliente: ' . $this->cliente->nome . '<br/>';
     $oEmail->mensagem .= 'Data: ' . FormatHelper::dataHora($oLogOrdemServico->data_hora) . '<br/><br/>';
     $oEmail->mensagem .= 'Dados do veículo: <br/>';
     $oEmail->mensagem .= 'Marca: ' . $this->clienteCarro->marca->titulo . '<br/>';
     $oEmail->mensagem .= 'Modelo: ' . $this->clienteCarro->modelo->titulo . '<br/>';
     $oEmail->mensagem .= 'Placa: ' . $this->clienteCarro->placa . '<br/><br/>';
     $oEmail->mensagem .= 'Itens da Ordem de Serviço: <br/>';
     foreach ($this->ordemServicoItens as $item) {
         if ($item->tipo_item_id == OrdemServicoItem::PRODUTO) {
             $oEmail->mensagem .= $item->produto->titulo . '<br/>';
             $oEmail->mensagem .= 'R$ ' . FormatHelper::valorMonetario($item->produto->preco);
             $oEmail->mensagem .= '<br/><br/>';
         } else {
             if ($item->tipo_item_id == OrdemServicoItem::SERVICO) {
                 $oEmail->mensagem .= $item->servico->titulo . '<br/>';
                 $oEmail->mensagem .= 'R$ ' . FormatHelper::valorMonetario($item->servico->preco);
                 $oEmail->mensagem .= '<br/><br/>';
             }
         }
     }
     $oEmail->mensagem .= 'Formas de Pagamento: <br/>';
     foreach ($this->ordemServicoTipoPagamento as $formaPagamento) {
         $oEmail->mensagem .= 'Tipo: ' . $formaPagamento->aFormasPagamento[$formaPagamento->forma_pagamento_id] . '<br/>';
         $oEmail->mensagem .= 'Valor: ' . $formaPagamento->valor . '<br/>';
         if (!empty($formaPagamento->parcelas)) {
             $oEmail->mensagem .= 'Parcelas: ' . $formaPagamento->parcelas . '<br/>';
         }
         $oEmail->mensagem .= '<br/>';
     }
     $oEmail->enviar();
 }