-<?php
+<?php namespace BookStack\Notifications;
-namespace BookStack\Notifications;
-
-use Illuminate\Bus\Queueable;
-use Illuminate\Contracts\Queue\ShouldQueue;
-use Illuminate\Notifications\Messages\MailMessage;
-use Illuminate\Notifications\Notification;
-
-class ConfirmEmail extends Notification implements ShouldQueue
+class ConfirmEmail extends MailNotification
{
-
- use Queueable;
-
public $token;
/**
$this->token = $token;
}
- /**
- * Get the notification's delivery channels.
- *
- * @param mixed $notifiable
- * @return array
- */
- public function via($notifiable)
- {
- return ['mail'];
- }
-
/**
* Get the mail representation of the notification.
*
public function toMail($notifiable)
{
$appName = ['appName' => setting('app-name')];
- return (new MailMessage)
- ->subject(trans('auth.email_confirm_subject', $appName))
- ->greeting(trans('auth.email_confirm_greeting', $appName))
- ->line(trans('auth.email_confirm_text'))
- ->action(trans('auth.email_confirm_action'), baseUrl('/register/confirm/' . $this->token));
+ return $this->newMailMessage()
+ ->subject(trans('auth.email_confirm_subject', $appName))
+ ->greeting(trans('auth.email_confirm_greeting', $appName))
+ ->line(trans('auth.email_confirm_text'))
+ ->action(trans('auth.email_confirm_action'), baseUrl('/register/confirm/' . $this->token));
}
}
--- /dev/null
+<?php namespace BookStack\Notifications;
+
+use Illuminate\Bus\Queueable;
+use Illuminate\Contracts\Queue\ShouldQueue;
+use Illuminate\Notifications\Messages\MailMessage;
+use Illuminate\Notifications\Notification;
+
+class MailNotification extends Notification implements ShouldQueue
+{
+ use Queueable;
+
+ /**
+ * Get the notification's channels.
+ *
+ * @param mixed $notifiable
+ * @return array|string
+ */
+ public function via($notifiable)
+ {
+ return ['mail'];
+ }
+
+ /**
+ * Create a new mail message.
+ * @return MailMessage
+ */
+ protected function newMailMessage()
+ {
+ return (new MailMessage)->view([
+ 'html' => 'vendor.notifications.email',
+ 'text' => 'vendor.notifications.email-plain'
+ ]);
+ }
+
+}
\ No newline at end of file
-<?php
+<?php namespace BookStack\Notifications;
-namespace BookStack\Notifications;
-use Illuminate\Notifications\Messages\MailMessage;
-use Illuminate\Notifications\Notification;
-
-class ResetPassword extends Notification
+class ResetPassword extends MailNotification
{
/**
* The password reset token.
$this->token = $token;
}
- /**
- * Get the notification's channels.
- *
- * @param mixed $notifiable
- * @return array|string
- */
- public function via($notifiable)
- {
- return ['mail'];
- }
-
/**
* Build the mail representation of the notification.
*
*/
public function toMail()
{
- return (new MailMessage)
+ return $this->newMailMessage()
->subject(trans('auth.email_reset_subject', ['appName' => setting('app-name')]))
->line(trans('auth.email_reset_text'))
->action(trans('auth.reset_password'), baseUrl('password/reset/' . $this->token))
/*
|--------------------------------------------------------------------------
- | Mail "Pretend"
+ | Markdown Mail Settings
|--------------------------------------------------------------------------
|
- | When this option is enabled, e-mail will not actually be sent over the
- | web and will instead be written to your application's logs files so
- | you may inspect the message. This is great for local development.
+ | If you are using Markdown based email rendering, you may configure your
+ | theme and component paths here, allowing you to customize the design
+ | of the emails. Or, you may simply stick with the Laravel defaults!
|
*/
-
- 'pretend' => env('MAIL_PRETEND', false),
+ 'markdown' => [
+ 'theme' => 'default',
+ 'paths' => [
+ resource_path('views/vendor/mail'),
+ ],
+ ],
];
if (! empty($greeting)) {
echo $greeting, "\n\n";
-} else {
- echo $level == 'error' ? 'Whoops!' : 'Hello!', "\n\n";
}
if (! empty($introLines)) {