/** * 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(); }