<?php
use Zend\Mail\Message;
use Zend\Mime\Mime;
use Zend\Mime\Message as MimeMessage;
use Zend\Mime\Part as MimePart;
use Zend\Mail\Transport\Sendmail as SendmailTransport;

// Au besoin faire appel à l'autoloader Cf. chapitre installation ZF
// require_once '/chemin/vers/composer/vendor/autoload.php';

$destinataire = 'testemail@toutestfacile.com';
$expediteur   = 'moi@monsite.com';
$reponse      = $expediteur;

$msg = new Message();
$msg->addFrom($destinataire, 'Nom de l\'expéditeur')
        ->addReplyTo($reponse)
        ->addTo($destinataire)
        ->setEncoding('utf-8')
        ->setSubject('test avec fichier attaché (façon ZF2/ZF3)');

$text = new MimePart('Ceci est un mail avec un fichier joint.');
$text->type = Mime::TYPE_TEXT; // text/plain
$text->charset = 'utf-8';

$fichierChemin = 'image.jpg';
$fichierMimePart = new MimePart(fopen($fichierChemin, 'r'));
$fichierMimePart->type = 'image/jpeg';
$fichierMimePart->filename = basename($fichierChemin);
$fichierMimePart->disposition = Mime::DISPOSITION_ATTACHMENT;
$fichierMimePart->encoding    = Mime::ENCODING_BASE64;

$body = new MimeMessage();
$body->setParts(array($text, $fichierMimePart));

$msg->setBody($body);

$transport = new SendmailTransport();
$transport->send($msg);