Skip to content

Instantly share code, notes, and snippets.

@jiripudil
Created April 4, 2013 19:06
Show Gist options
  • Save jiripudil/5313206 to your computer and use it in GitHub Desktop.
Save jiripudil/5313206 to your computer and use it in GitHub Desktop.
Mailer for Nette that saves messages as EML files, for debug purposes
<?php
/**
* @copyright Copyright (c) 2013, Jiří Pudil
* @license http://opensource.org/licenses/MIT MIT License
*/
namespace jiripudil\Mail;
use Nette\Mail\IMailer;
use Nette\Mail\Message;
use Nette\IOException;
/**
* Mailer that saves emails as EML files.
*
* @author Jiří Pudil
*/
class FileDumpMailer implements IMailer
{
/** @var string */
private $mailDir;
/**
* @param string $mailDir
*/
public function __construct($mailDir)
{
$this->mailDir = $mailDir;
}
/**
* @param Message $message
* @return void
* @throws IOException
*/
public function send(Message $message)
{
$eml = $message->generateMessage();
$filename = $this->mailDir . '/' . date('YmdGis') . '.eml';
$result = file_put_contents($filename, $eml);
if ($result === FALSE) {
throw new IOException("Could not save message into '$filename'.");
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment