Ejemplo n.º 1
0
 /**
  * Envia e-mail para usuário com dados iniciais, como username (e-mail) e senha.
  * @param int $idpessoa
  * @param int $idEncrontro
  * @param int $tipoMensagem use as constantes definidas acima [ MSG_CONFIRMACAO, MSG_RECUPERAR_SENHA ].
  * @param binary $pdf arquivo PDF em string binária, se não for null será enviado ao usuário em anexo
  * @throws Exception
  */
 public function send($id_pessoa, $id_encontro, $tipoMensagem = Application_Model_EmailConfirmacao::MSG_CONFIRMACAO, $pdf = null)
 {
     $mail = new Zend_Mail();
     $pessoa = new Application_Model_Pessoa();
     $linha = $pessoa->find($id_pessoa)->current();
     $emailText = $this->obterMensagem($id_encontro, $tipoMensagem);
     switch ($tipoMensagem) {
         case Application_Model_EmailConfirmacao::MSG_CONFIRMACAO:
         case Application_Model_EmailConfirmacao::MSG_RECUPERAR_SENHA:
             $result = $pessoa->gerarToken($id_pessoa);
             $link = "http://" . $_SERVER["SERVER_NAME"] . "/index/definir-senha/hashedToken/" . $result['hashedToken'] . "/id/" . $id_pessoa;
             break;
         case Application_Model_EmailConfirmacao::MSG_CONFIRMACAO_REINSCRICAO:
             $link = "";
             break;
         default:
             throw new Exception(_("Send e-mail option not defined."));
     }
     $emailText->mensagem = str_replace('{nome}', $linha->nome, $emailText->mensagem);
     $emailText->mensagem = str_replace('{email}', $linha->email, $emailText->mensagem);
     $emailText->mensagem = str_replace('{href_link}', $link, $emailText->mensagem);
     $mail->setBodyHtml(iconv($this->config->email->in_charset, $this->config->email->out_charset, $emailText->mensagem));
     $mail->addTo($linha->email, $linha->nome);
     $mail->setSubject(iconv($this->config->email->in_charset, $this->config->email->out_charset, $emailText->assunto));
     if ($pdf != null) {
         $at = new Zend_Mime_Part($pdf);
         $at->type = 'application/pdf';
         $at->disposition = Zend_Mime::DISPOSITION_ATTACHMENT;
         $at->encoding = Zend_Mime::ENCODING_BASE64;
         $at->filename = 'ticket-inscricao.pdf';
         $mail->addAttachment($at);
     }
     $mail->send();
 }