newInstance() public static method

Create a new SpoolTransport instance.
public static newInstance ( Swift_Spool $spool ) : Swift_SpoolTransport
$spool Swift_Spool
return Swift_SpoolTransport
Example #1
0
 public function __construct(KConfig $config = null)
 {
     parent::__construct($config);
     $this->_message = Swift_Message::newInstance();
     switch ($config->method) {
         case 'sendmail':
             // WIP required -bs or -t switch
             $transport = Swift_SendmailTransport::newInstance($config->sendmail);
             break;
         case 'smtp':
             if ($config->smtpauth == 1) {
                 if ($config->smtpsecure != "none") {
                     $transport = Swift_SmtpTransport::newInstance($config->smtphost, $config->smtpport, $config->smtpsecure)->setUsername($config->smtpuser)->setPassword($config->smtppass);
                 } else {
                     $transport = Swift_SmtpTransport::newInstance($config->smtphost, $config->smtpport)->setUsername($config->smtpuser)->setPassword($config->smtppass);
                 }
             } else {
                 if ($config->smtpsecure != "none") {
                     $transport = Swift_SmtpTransport::newInstance($config->smtphost, $config->smtpport, $config->smtpsecure);
                 } else {
                     $transport = Swift_SmtpTransport::newInstance($config->smtphost, $config->smtpport);
                 }
             }
             break;
         case 'spool':
             // TODO: Make spool options configurable.
             $transport = Swift_SpoolTransport::newInstance(new Swift_FileSpool('/var/spool/swift'));
             break;
         case 'mail':
         default:
             $transport = Swift_MailTransport::newInstance();
             break;
     }
     $this->_mailer = Swift_Mailer::newInstance($transport);
 }
Example #2
0
 /**
  * SwiftMailerHandler constructor.
  * @param $options
  */
 public function __construct($options)
 {
     $default = ['smtpsecure' => '', 'port' => 25, 'host' => '', 'username' => '', 'password' => '', 'from' => [], 'response' => [], 'spool' => false, 'spool_directory' => ''];
     $options = array_merge($default, $options);
     $this->transport = \Swift_SmtpTransport::newInstance($options['host'], $options['port'], $options['smtpsecure'])->setUsername($options['username'])->setPassword($options['password']);
     if ($options['spool']) {
         $spool = new \Swift_FileSpool($options['spool_directory']);
         $this->transport_spool = \Swift_SpoolTransport::newInstance($spool);
     }
     $this->message = \Swift_Message::newInstance();
     $this->message->setFrom([$options['from'][0] => $options['from'][1]]);
     $this->message->setReplyTo([$options['response'][0] => $options['response'][1]]);
 }
};
$c['log.main'] = function ($c) {
    $logger = new \Monolog\Logger('main');
    $level = $c['config']['debug'] ? \Monolog\Logger::DEBUG : \Monolog\Logger::INFO;
    $logger->pushHandler(new \Monolog\Handler\StreamHandler($c['log_dir'] . '/main.log', $level));
    $level = $c['config']['debug'] ? \Monolog\Logger::DEBUG : \Monolog\Logger::ERROR;
    // Will mail if error leve is above this setting.
    $logger->pushHandler(new \Monolog\Handler\SwiftMailerHandler($c['mailer'], new \Swift_Message('Module error need to repair'), $level));
    return $logger;
};
$c['mailer'] = function ($c) {
    // Using the native php mail function
    $transport = \Swift_MailTransport::newInstance();
    if ($c['config']['debug']) {
        // Debug mode will write all sent emails to cache dir
        $transport = \Swift_SpoolTransport::newInstance(new \Swift_FileSpool($c['res_dir'] . '/cache/mailspool'));
    }
    return \Swift_Mailer::newInstance($transport);
};
$c['router.routes'] = function ($c) {
    $routes = (require $c['app_dir'] . '/routing.php');
    return $routes;
};
$c['router'] = function ($c) {
    if (isset($c['request'])) {
        // If the request is set, use it
        // http://symfony.com/doc/current/components/routing/introduction.html#components-routing-http-foundation
        $context = new Symfony\Component\Routing\RequestContext();
        $context->fromRequest($c['request']);
    } else {
        $context = new Symfony\Component\Routing\RequestContext(isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '');
<?php

/**
 * 280-transport-spool-memory.php
 */
require_once '../vendor/autoload.php';
require_once './config.php';
// POINT of this sample
$spool = new Swift_MemorySpool();
$transport = Swift_SpoolTransport::newInstance($spool);
$mailer = Swift_Mailer::newInstance($transport);
$message = Swift_Message::newInstance();
$message->setFrom(MAIL_FROM)->setTo(MAIL_TO)->setSubject('SpoolTransport (memory) sample')->setBody('This is a mail.');
// No send, but number of send is counted.
$result = $mailer->send($message);