Acesse o site da Zend.com e baixe a biblioteca do Zend Framework, escolha a opção mínima pois só queremos utilizar o sistema de Email. o arquivo é algo como ZendFramework-1.7.7-minimal.tar.gz, será necessário fazer um cadastro rápido para conseguir o arquivo.
Crie o essa estrutura de diretório para armazenar o download.
mkdir -p projeto/lib/vendor/Zend/tmp
Descompacte o arquivo:
tar -xzvf ZendFramework-1.7.7-minimal.tar.gz projeto/lib/vendor/Zend/tmp
Copie os arquivos que vamos precisar para o diretório Zend:
cp -R Exception.php Loader/ Loader.php Mail/ Mail.php Mime/ Mime.php Registry.php Search/ Validate/ Validate.php /projeto/lib/vendor/Zend/
Agora configure o symfony para carregar no arquivo projeto/config/ProjectConfiguration.class.php.
adicione no início da classe ProjectConfiguration:
static protected $zendLoaded = false;
static public function registerZend()
{
if (self::$zendLoaded)
{
return;
}
set_include_path(sfConfig::get('sf_lib_dir').'/vendor'.PATH_SEPARATOR.get_include_path());
require_once sfConfig::get('sf_lib_dir').'/vendor/Zend/Loader.php';
Zend_Loader::registerAutoload();
self::$zendLoaded = true;
}
pronto, estamos prontos para utilizar o Zend Mail.
para programar o envio de email utilizando o zend mail fazemos:
public function executeSave( sfWebRequest $request ){
ProjectConfiguration::registerZend();
$config = array('auth' => 'login',
'username' => 'example@example.com',
'password' => 'senha');
$transport = new Zend_Mail_Transport_Smtp('inuar.com', $config);
$mail = new Zend_Mail();
$mail->setBodyText(<<
EOF
);
$mail->setFrom('example@example.com', 'Nei');
$mail->addTo('example@example.com');
$mail->setSubject('Este é um teste.');
try {
$mail->send( $transport );
} catch (Zend_Mail_Exception $e) {
$log = $transport->getConnection()->getLog();
}
}