Пример #1
0
 /**
  * Register the service provider.
  *
  * @return void
  */
 public function register()
 {
     $this->registerSwiftMailer();
     $this->app['mailer'] = $this->app->share(function ($app) {
         // Once we have create the mailer instance, we will set a container instance
         // on the mailer. This allows us to resolve mailer classes via containers
         // for maximum testability on said classes instead of passing Closures.
         $mailer = new Mailer($app['view'], $app['swift.mailer']);
         $mailer->setLogger($app['log'])->setQueue($app['queue']);
         $mailer->setContainer($app);
         // If a "from" address is set, we will set it on the mailer so that all mail
         // messages sent by the applications will utilize the same "from" address
         // on each one, which makes the developer's life a lot more convenient.
         $from = $app['config']['mail.from'];
         if (is_array($from) and isset($from['address'])) {
             $mailer->alwaysFrom($from['address'], $from['name']);
         }
         // Here we will determine if the mailer should be in "pretend" mode for this
         // environment, which will simply write out e-mail to the logs instead of
         // sending it over the web, which is useful for local dev enviornments.
         $pretend = $app['config']->get('mail.pretend', false);
         $mailer->pretend($pretend);
         return $mailer;
     });
 }
Пример #2
0
 /**
  * Tell the mailer to not really send messages.
  *
  * @param bool $value
  * @return void 
  * @static 
  */
 public static function pretend($value = true)
 {
     \Illuminate\Mail\Mailer::pretend($value);
 }
Пример #3
0
    // $transport = new MailgunTransport(getenv('MAILGUN_SECRET'), getenv('MAILGUN_DOMAIN'));
    // $transport = new MandrillTransport(getenv('MANDRILL_SECRET'));
    // $transport = new LogTransport($logger->getMonolog());
    // SMTP specific configuration, remove these if you're not using SMTP
    $transport->setUsername(getenv('SMTP_USERNAME'));
    $transport->setPassword(getenv('SMTP_PASSWORD'));
    $transport->setEncryption(true);
    $swift = new SwiftMailer($transport);
    $finder = new FileViewFinder(new Filesystem(), ['views']);
    $resolver = new EngineResolver();
    // determine which template engine to use
    $resolver->register('php', function () {
        return new PhpEngine();
    });
    $view = new Factory($resolver, $finder, new Dispatcher());
    $mailer = new Mailer($view, $swift);
    $mailer->setLogger($logger);
    // $mailer->setQueue($app['queue']); // note: queue functionality is not available if the queue module is not set
    // $mailer->setContainer($app);      // note: the message builder must be a callback if the container is not set
    // pretend method can be used for testing
    $mailer->pretend(false);
    // prepare email view data
    $data = ['greeting' => 'You have arrived, girl.'];
    $mailer->send('email.welcome', $data, function ($message) {
        $message->from(getenv('MAIL_FROM_ADDRESS'), 'Code Guy');
        $message->to(getenv('MAIL_TO_ADDRESS'), 'Keira Knightley');
        $message->subject('Yo!');
    });
    var_dump('Done');
});
$app->run();