Source of file File.php
Size: 2,204 Bytes - Last Modified: 2014-03-12T23:21:18+01:00
/home/theseer/Downloads/ZendFramework-2.3.0/library/Zend/Mail/Transport/File.php
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 | <?php /** * Zend Framework (http://framework.zend.com/) * * @link http://github.com/zendframework/zf2 for the canonical source repository * @copyright Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com) * @license http://framework.zend.com/license/new-bsd New BSD License */ namespace Zend\Mail\Transport; use Zend\Mail\Message; /** * File transport * * Class for saving outgoing emails in filesystem */ class File implements TransportInterface { /** * @var FileOptions */ protected $options; /** * Last file written to * * @var string */ protected $lastFile; /** * Constructor * * @param null|FileOptions $options OPTIONAL (Default: null) */ public function __construct(FileOptions $options = null) { if (!$options instanceof FileOptions) { $options = new FileOptions(); } $this->setOptions($options); } /** * @return FileOptions */ public function getOptions() { return $this->options; } /** * Sets options * * @param FileOptions $options */ public function setOptions(FileOptions $options) { $this->options = $options; } /** * Saves e-mail message to a file * * @param Message $message * @throws Exception\RuntimeException on not writable target directory or * on file_put_contents() failure */ public function send(Message $message) { $options = $this->options; $filename = call_user_func($options->getCallback(), $this); $file = $options->getPath() . DIRECTORY_SEPARATOR . $filename; $email = $message->toString(); if (false === file_put_contents($file, $email)) { throw new Exception\RuntimeException(sprintf( 'Unable to write mail to file (directory "%s")', $options->getPath() )); } $this->lastFile = $file; } /** * Get the name of the last file written to * * @return string */ public function getLastFile() { return $this->lastFile; } } |