Created
April 4, 2013 19:06
-
-
Save jiripudil/5313206 to your computer and use it in GitHub Desktop.
Mailer for Nette that saves messages as EML files, for debug purposes
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?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