![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/laminas/laminas-mail/src/Transport/ |
<?php namespace Laminas\Mail\Transport; use Laminas\Mail\Exception; use Laminas\Mail\Exception\InvalidArgumentException; use Laminas\Stdlib\AbstractOptions; use function gettype; use function is_callable; use function is_dir; use function is_object; use function is_writable; use function mt_rand; use function sprintf; use function sys_get_temp_dir; use function time; /** * @extends AbstractOptions<string|callable> */ class FileOptions extends AbstractOptions { /** @var string Path to stored mail files */ protected $path; /** @var callable */ protected $callback; /** * Set path to stored mail files * * @param string $path * @throws InvalidArgumentException * @return FileOptions */ public function setPath($path) { if (! is_dir($path) || ! is_writable($path)) { throw new Exception\InvalidArgumentException(sprintf( '%s expects a valid path in which to write mail files; received "%s"', __METHOD__, (string) $path )); } $this->path = $path; return $this; } /** * Get path * * If none is set, uses value from sys_get_temp_dir() * * @return string */ public function getPath() { if (null === $this->path) { $this->setPath(sys_get_temp_dir()); } return $this->path; } /** * Set callback used to generate a file name * * @param callable $callback * @throws InvalidArgumentException * @return FileOptions */ public function setCallback($callback) { if (! is_callable($callback)) { throw new Exception\InvalidArgumentException(sprintf( '%s expects a valid callback; received "%s"', __METHOD__, is_object($callback) ? $callback::class : gettype($callback) )); } $this->callback = $callback; return $this; } /** * Get callback used to generate a file name * * @return callable */ public function getCallback() { if (null === $this->callback) { $this->setCallback(static fn() => 'LaminasMail_' . time() . '_' . mt_rand() . '.eml'); } return $this->callback; } }