Informática Numaboa - Tutoriais e Programação
Envio de emails pelo Joomla
Dom 10 Jan 2010 11:05 |
- Detalhes
- Categoria: Joomla
- Atualização: Domingo, 10 Junho 2012 12:21
- Autor: vovó Vicki
- Acessos: 6886
Várias vezes me deparei com a necessidade de incluir no código de extensões do Joomla a possibilidade de enviar emails. Normalmente a função mail() do PHP é usada para executar estas tarefas, mas... sempre tem um mas!
A função mail() do PHP é uma mão na roda: fácil de usar, rápida, só tem um porém - precisa de um MTA instalado no servidor. Como nem sempre é este o caso (meu serviço de emails está num outro servidor), esta solução não me serve.
Agora vamos ao Joomla. Por default, o Joomla instala o PHPMailer. Este pacote é incorporado ao sistema e pode ser configurado pela área administrativa nas configurações globais na aba server (servidor). Uma das opções é usar o SMTP para acionar um MTA externo, qualquer servidor de emails externo, tanto que tem uma porção de gente usando o gmail.
Os scripts do PHPMailer ficam em /includes/phpmailer/ que, se você der uma olhada no código, apenas apontam para os scripts que ficam em /libraries/phpmailer/. Não há a necessidade de chamar estes scripts diretamente porque o Joomla oferece a possibilidade de acionar o sistema de envio de emails de acordo com as configurações globais.
A classe JFactory disponibiliza o método getMailer() para criar um objeto mailer que, depois de devidamente preenchido, pode ser acionado para enviar emails. Observe o código abaixo:
Exemplo de código | |
1 |
$destinatario = 'admin\@numaboa.com'; |
Coloquei as variáveis no exemplo de script só para facilitar o entendimento. Num componente ou módulo Joomla, estas variáveis geralmente são fornecidas por um formulário e podemos referenciá-las com $_POST[nome do campo] ou, de forma ainda mais elegante, através de $nome = JRequest::getVar( 'nome', '', 'post', string ).