dez 24

Olá Pessoal, vou postar hoje um exemplo do uso do Zend_Mail, utilizando o corpo da mensagem como HTML. Para quem inseriu a lib do ZF completa na raiz,  só precisa usar o require_once. Mas, Aqueles que não estão a fim de enviar toda a lib pra o server ai vai o que é necessário:

PASTAS E ARQUIVOS NECESSÁRIOS

  • Validade.php
  • Registry.php
  • Mime.php
  • Mail.php
  • Loader.php
  • Validade/
  • Mail/
  • Loader/
  • Mime/


Esses itens estão inseridos na pasta LIB do pacote FULL da ZendFramewok. Copie todos,  crie uma pasta com o nome zend na raiz do seu servidor remoto e cole todo o conteúdo lá.

Vamos criar uma classe especifica , deixando nosso código organizado e reutilizável.

email.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
< ?php
/**
*nome: email.php
*Classe: EmailZend
*Descrição: Envio de e-mails atraves da ZF.
*/
class EmailZend
{
  /**atributos*/
  public $_SMTP;	
  /**
  * Contrutor com parametros
  *
  * @return instancia
  */
  function __construct(){}
  /**
  * Enviar Emails
  *
  * Envia emails via SMTP autenticado
  *
  * 	@param  destinatario
  *	@param 	remetente
  *	@param  assunto
  *	@param  mensagem
  * 
  */
  function  enviarEmail($destinatario, $remetente, 
    $assunto, $mensagem)
  {
    require_once *path da raiz*'/Zend/Mail.php'; 
    $mail = new Zend_Mail();
    $mail->setBodyHtml($mensagem);
    $mail->setFrom($remetente, 'Namoro em Peso');
    $mail->addTo($destinatario, '');
    $mail->setSubject($assunto);
    $mail->send($this->_SMTP);
  }
  /**
  * Configurar Servidor
  *
  * Configurar servidor de saida SMTP
  *	@param	$server
  *	@param	$usuario
  *	@param	$senha
  *   
  */
  function  confServ($server='SERVIDOR STMP', 
    $usuario='USUARIO DO STMP AUTENTICADO', $senha='*****')
  {
    require_once *path da raiz*'/Zend/Mail/Transport/Smtp.php';
    $config = array(
      'auth' => 'login',
      'username' => $usuario,
      'password' => $senha,
      'port' => 25/*nao precisa*/
    );
    $this->_SMTP = new Zend_Mail_Transport_Smtp($server, $config);
  }
}
?>

Caso seja necessária a autenticação com ssl e em outra porta, geralmente a 465, o código da linha 52-57 ficará assim:

52
53
54
55
56
57
58
$config = array(
      'auth' => 'login',
      'username' => $usuario,
      'password' => $senha,
      'ssl' => 'ssl',
      'port' => 465
    );

Por último é só chamar a classe no seu sistema:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
< ?php
/*Sessao do novo sistema de e-mail*/	
require_once *path da raiz*'/email.php';		
 
/*DADOS MENSAGEM*/
$para  = 'destino@emaioldodestinatario.com.br';
$assunto = 'testando envio pelo Zend_Mail.';
$mensagem = '
  <html>
  <head>
  <title>Teste de envio pelo Zend_Mail</title>
  </head>
  <body>
  <p>MENSAGEM ENVIADA COM SUCESSO</p>
  </body>
';
$remetente='fish@fish.jpa.com.br';
/*FIM DOS DADOS*/
 
/*Nossa Classe*/
$zmail= new EmailZend();		
$zmail->confServ();	
$zmail->enviarEmail($para , $remetente, $assunto, $mensagem);
?>

Então é isso. Os arquivos para Download estão aqui: LINK
Espero ter ajudado,
Fish

written by Fernando Carvalho \\ tags: , ,


Leave a Reply