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