Enviando email com anexo através do Zend FrameWork

Enviando email com anexo através do Zend FrameWork

Veja neste exemplo como enviar email com anexo a partir do Zend FrameWork.

<?php

/**
 * O Email foi enviado corretamente?
*/
 
if($_POST) {
	 
	require_once 'Zend/Mail.php';
	require_once 'Zend/Mail/Transport/Smtp.php';
	 
	/**
	 * Recebendo os campos do formulário
	 */
	 
	$arqTmp  = $_FILES["file"]["tmp_name"];
	$arqName = $_FILES["file"]["name"];
	$arqType = $_FILES["file"]["type"];
	$para    = $_POST["para"];
	 
	/**
	 * Config
	 */
	 
	$smtp     = "smtp.gmail.com";
	$conta    = "Email do Gmail";
	$senha    = "Senha do Gmail";
	$de       = "email";
	$assunto  = "HTML Mail";
	$mensagem = "<b>Zend_Mail()</b> Teste de envio de email com Anexo.";	 
	 
	try {
		$config = array (
	                'auth' => 'login',
   	                'username' => $conta,
   	                'password' => $senha,
   	                'ssl' => 'ssl',
   	                'port' => '465'
   	                );

   	    $mailTransport = new Zend_Mail_Transport_Smtp($smtp, $config);
        
   	    $mail = new Zend_Mail();
   	    $mail->setFrom($de);
   	    $mail->addTo($para);
   	    $mail->setBodyHtml($mensagem);
   	    $mail->setSubject($assunto);
   	    $mail->createAttachment(file_get_contents($arqTmp), $arqType, Zend_Mime::DISPOSITION_INLINE, Zend_Mime::ENCODING_BASE64, $arqName);
   	    $mail->send($mailTransport);
        
   	    echo "Email enviado!";
	} catch (Exception $e){
		echo ($e->getMessage());
	} 
} else { ?>
   <form method="post" enctype="multipart/form-data" name="form" id="form">
	   Arquivo: <input type="file" name="file" size="30" /> <br />
	   Para: <input type="text" name="para" size="50" value="email@teste.com.br" /> <br />
	   <input name="enviar" id="enviar" type="submit" value="Enviar" />
   </form>
<?php	
}
?>