/** * Send newsletters to all subscribers * @return View */ public function store() { View::addNamespace('newsletter-email', app_path() . "/StrongCode/Newsletter/Views/{$this->current_theme}/public"); $input = Input::all(); if (isset($input['form_close'])) { return Redirect::to("{$this->link_type}/modules/newsletters"); } $subscribers = NewsletterSubscriber::get()->fetch('email'); Newsletter::create($input); try { foreach ($subscribers as $subscriber) { Mail::queue('newsletter-email::newsletter', $input, function ($email_message) use($input, $subscriber) { $email_message->from(Config::get('mail.username')); $email_message->to($subscriber)->subject($input['subject']); }); } } catch (Exception $e) { return Redirect::back()->withInput()->with('error_message', $e->getMessage()); } $redirect = isset($input['form_save']) ? "{$this->link_type}/modules/newsletters" : "{$this->link_type}/modules/newsletters/create"; return Redirect::to($redirect)->with('success_message', 'The newsletter was sent.'); }