Package Home

Zend Framework 2 Documentation (Manual)

PHK Home

File: /_sources/modules/zend.mail.using-file-transport.txt

Size:1170
Storage flags:no_autoload,compress/gzip (55%)

.. _zend.mail.file-transport:

Using File Transport
====================

``Zend\Mail\Transport\File`` is useful in a development environment or for testing purposes. Instead of sending any
real emails it simply dumps the email's body and headers to a file in the filesystem.

The transport has two optional parameters that can be passed to the constructor or via ``setOptions()`` method. The
``path`` option specifies the base path where new files are saved. If nothing is set transport tries to get the
default system directory for temporary files calling ``sys_get_temp_dir``. The second parameter, ``callback``,
defines what function is used to generate a filename. As an example, assume we need to use recipient's email plus
some hash as the filename:

.. code-block:: php
   :linenos:

   $mail = new Zend\Mail\Message();
   $mail->addTo('somebody@example.com', 'Some Recipient');
   // build message...
   $tr = new Zend\Mail\Transport\File(array('callback' => function ($transport){
       return $transport->recipients . '_' . mt_rand() . '.tmp';
   }));
   $mail->send($tr);

The resulting file will be something like ``somebody@example.com_1493362665.tmp``



For more information about the PHK package format: http://phk.tekwire.net