class Mailable implements Mailable, Renderable (View source)

Traits

Properties

string $locale

The locale of the message.

array $from

The person the message is from.

array $to

The "to" recipients of the message.

array $cc

The "cc" recipients of the message.

array $bcc

The "bcc" recipients of the message.

array $replyTo

The "reply to" recipients of the message.

string $subject

The subject of the message.

string $markdown

The Markdown template for the message (if applicable).

protected string $html

The HTML to use for the message.

string $view

The view to use for the message.

string $textView

The plain text view to use for the message.

array $viewData

The view data for the message.

array $attachments

The attachments for the message.

array $rawAttachments

The raw attachments for the message.

array $diskAttachments

The attachments from a storage disk.

array $callbacks

The callbacks for the message.

string|null $theme

The name of the theme that should be used when formatting the message.

string $mailer

The name of the mailer that should send the message.

protected array $assertionableRenderStrings

The rendered mailable views for testing / assertions.

static callable $viewDataCallback

The callback that should be invoked while building the view data.

Methods

$this|mixed
when(mixed $value, callable $callback, callable|null $default = null)

Apply the callback if the given "value" is truthy.

$this|mixed
unless(mixed $value, callable $callback, callable|null $default = null)

Apply the callback if the given "value" is falsy.

mixed
forwardCallTo(mixed $object, string $method, array $parameters)

Forward a method call to the given object.

mixed
forwardDecoratedCallTo(mixed $object, string $method, array $parameters)

Forward a method call to the given object, returning $this if the forwarded call returned itself.

static void
throwBadMethodCallException(string $method)

Throw a bad method call exception for the given method.

mixed
withLocale(string $locale, Closure $callback)

Run the callback with the given locale.

void
send(Factory|Mailer $mailer)

Send the message using the given mailer.

mixed
queue(Factory $queue)

Queue the message for sending.

mixed
later(DateTimeInterface|DateInterval|int $delay, Factory $queue)

Deliver the queued message after the given delay.

mixed
newQueuedJob()

Make the queued mailable job instance.

string
render()

Render the mailable into a view.

array|string
buildView()

Build the view for the message.

array
buildMarkdownView()

Build the Markdown view for the message.

array
buildViewData()

Build the view data for the message.

string
buildMarkdownText(Markdown $markdown, array $data)

Build the text view for a Markdown message.

$this
buildFrom(Message $message)

Add the sender to the message.

$this
buildRecipients(Message $message)

Add all of the recipients to the message.

$this
buildSubject(Message $message)

Set the subject for the message.

$this
buildAttachments(Message $message)

Add all of the attachments to the message.

void
buildDiskAttachments(Message $message)

Add all of the disk attachments to the message.

$this
runCallbacks(Message $message)

Run the callbacks for the message.

$this
locale(string $locale)

Set the locale of the message.

$this
priority(int $level = 3)

Set the priority of this message.

$this
from(object|array|string $address, string|null $name = null)

Set the sender of the message.

bool
hasFrom(object|array|string $address, string|null $name = null)

Determine if the given recipient is set on the mailable.

$this
to(object|array|string $address, string|null $name = null)

Set the recipients of the message.

bool
hasTo(object|array|string $address, string|null $name = null)

Determine if the given recipient is set on the mailable.

cc(object|array|string $address, string|null $name = null)

Set the recipients of the message.

bool
hasCc(object|array|string $address, string|null $name = null)

Determine if the given recipient is set on the mailable.

$this
bcc(object|array|string $address, string|null $name = null)

Set the recipients of the message.

bool
hasBcc(object|array|string $address, string|null $name = null)

Determine if the given recipient is set on the mailable.

$this
replyTo(object|array|string $address, string|null $name = null)

Set the "reply to" address of the message.

bool
hasReplyTo(object|array|string $address, string|null $name = null)

Determine if the given replyTo is set on the mailable.

$this
setAddress(object|array|string $address, string|null $name = null, string $property = 'to')

Set the recipients of the message.

array
addressesToArray(object|array|string $address, string|null $name)

Convert the given recipient arguments to an array.

object
normalizeRecipient(mixed $recipient)

Convert the given recipient into an object.

bool
hasRecipient(object|array|string $address, string|null $name = null, string $property = 'to')

Determine if the given recipient is set on the mailable.

$this
subject(string $subject)

Set the subject of the message.

$this
markdown(string $view, array $data = [])

Set the Markdown template for the message.

$this
view(string $view, array $data = [])

Set the view and view data for the message.

$this
html(string $html)

Set the rendered HTML content for the message.

$this
text(string $textView, array $data = [])

Set the plain text view for the message.

$this
with(string|array $key, mixed $value = null)

Set the view data for the message.

$this
attach(string $file, array $options = [])

Attach a file to the message.

$this
attachFromStorage(string $path, string|null $name = null, array $options = [])

Attach a file to the message from storage.

$this
attachFromStorageDisk(string $disk, string $path, string|null $name = null, array $options = [])

Attach a file to the message from storage.

$this
attachData(string $data, string $name, array $options = [])

Attach in-memory data as an attachment.

$this
assertSeeInHtml(string $string)

Assert that the given text is present in the HTML email body.

$this
assertDontSeeInHtml(string $string)

Assert that the given text is not present in the HTML email body.

$this
assertSeeInText(string $string)

Assert that the given text is present in the plain-text email body.

$this
assertDontSeeInText(string $string)

Assert that the given text is not present in the plain-text email body.

array
renderForAssertions()

Render the HTML and plain-text version of the mailable into views for assertions.

$this
mailer(string $mailer)

Set the name of the mailer that should send the message.

$this
withSwiftMessage(callable $callback)

Register a callback to be called with the Swift message instance.

static void
buildViewDataUsing(callable $callback)

Register a callback to be called while building the view data.

$this
__call(string $method, array $parameters)

Dynamically bind parameters to the message.

Details

$this|mixed when(mixed $value, callable $callback, callable|null $default = null)

Apply the callback if the given "value" is truthy.

Parameters

mixed $value
callable $callback
callable|null $default

Return Value

$this|mixed

$this|mixed unless(mixed $value, callable $callback, callable|null $default = null)

Apply the callback if the given "value" is falsy.

Parameters

mixed $value
callable $callback
callable|null $default

Return Value

$this|mixed

protected mixed forwardCallTo(mixed $object, string $method, array $parameters)

Forward a method call to the given object.

Parameters

mixed $object
string $method
array $parameters

Return Value

mixed

Exceptions

BadMethodCallException

protected mixed forwardDecoratedCallTo(mixed $object, string $method, array $parameters)

Forward a method call to the given object, returning $this if the forwarded call returned itself.

Parameters

mixed $object
string $method
array $parameters

Return Value

mixed

Exceptions

BadMethodCallException

static protected void throwBadMethodCallException(string $method)

Throw a bad method call exception for the given method.

Parameters

string $method

Return Value

void

Exceptions

BadMethodCallException

mixed withLocale(string $locale, Closure $callback)

Run the callback with the given locale.

Parameters

string $locale
Closure $callback

Return Value

mixed

void send(Factory|Mailer $mailer)

Send the message using the given mailer.

Parameters

Factory|Mailer $mailer

Return Value

void

mixed queue(Factory $queue)

Queue the message for sending.

Parameters

Factory $queue

Return Value

mixed

mixed later(DateTimeInterface|DateInterval|int $delay, Factory $queue)

Deliver the queued message after the given delay.

Parameters

DateTimeInterface|DateInterval|int $delay
Factory $queue

Return Value

mixed

protected mixed newQueuedJob()

Make the queued mailable job instance.

Return Value

mixed

string render()

Render the mailable into a view.

Return Value

string

Exceptions

ReflectionException

protected array|string buildView()

Build the view for the message.

Return Value

array|string

Exceptions

ReflectionException

protected array buildMarkdownView()

Build the Markdown view for the message.

Return Value

array

Exceptions

ReflectionException

array buildViewData()

Build the view data for the message.

Return Value

array

Exceptions

ReflectionException

protected string buildMarkdownText(Markdown $markdown, array $data)

Build the text view for a Markdown message.

Parameters

Markdown $markdown
array $data

Return Value

string

protected $this buildFrom(Message $message)

Add the sender to the message.

Parameters

Message $message

Return Value

$this

protected $this buildRecipients(Message $message)

Add all of the recipients to the message.

Parameters

Message $message

Return Value

$this

protected $this buildSubject(Message $message)

Set the subject for the message.

Parameters

Message $message

Return Value

$this

protected $this buildAttachments(Message $message)

Add all of the attachments to the message.

Parameters

Message $message

Return Value

$this

protected void buildDiskAttachments(Message $message)

Add all of the disk attachments to the message.

Parameters

Message $message

Return Value

void

protected $this runCallbacks(Message $message)

Run the callbacks for the message.

Parameters

Message $message

Return Value

$this

$this locale(string $locale)

Set the locale of the message.

Parameters

string $locale

Return Value

$this

$this priority(int $level = 3)

Set the priority of this message.

The value is an integer where 1 is the highest priority and 5 is the lowest.

Parameters

int $level

Return Value

$this

$this from(object|array|string $address, string|null $name = null)

Set the sender of the message.

Parameters

object|array|string $address
string|null $name

Return Value

$this

bool hasFrom(object|array|string $address, string|null $name = null)

Determine if the given recipient is set on the mailable.

Parameters

object|array|string $address
string|null $name

Return Value

bool

$this to(object|array|string $address, string|null $name = null)

Set the recipients of the message.

Parameters

object|array|string $address
string|null $name

Return Value

$this

bool hasTo(object|array|string $address, string|null $name = null)

Determine if the given recipient is set on the mailable.

Parameters

object|array|string $address
string|null $name

Return Value

bool

Mailable cc(object|array|string $address, string|null $name = null)

Set the recipients of the message.

Parameters

object|array|string $address
string|null $name

Return Value

Mailable

bool hasCc(object|array|string $address, string|null $name = null)

Determine if the given recipient is set on the mailable.

Parameters

object|array|string $address
string|null $name

Return Value

bool

$this bcc(object|array|string $address, string|null $name = null)

Set the recipients of the message.

Parameters

object|array|string $address
string|null $name

Return Value

$this

bool hasBcc(object|array|string $address, string|null $name = null)

Determine if the given recipient is set on the mailable.

Parameters

object|array|string $address
string|null $name

Return Value

bool

$this replyTo(object|array|string $address, string|null $name = null)

Set the "reply to" address of the message.

Parameters

object|array|string $address
string|null $name

Return Value

$this

bool hasReplyTo(object|array|string $address, string|null $name = null)

Determine if the given replyTo is set on the mailable.

Parameters

object|array|string $address
string|null $name

Return Value

bool

protected $this setAddress(object|array|string $address, string|null $name = null, string $property = 'to')

Set the recipients of the message.

All recipients are stored internally as [['name' => ?, 'address' => ?]]

Parameters

object|array|string $address
string|null $name
string $property

Return Value

$this

protected array addressesToArray(object|array|string $address, string|null $name)

Convert the given recipient arguments to an array.

Parameters

object|array|string $address
string|null $name

Return Value

array

protected object normalizeRecipient(mixed $recipient)

Convert the given recipient into an object.

Parameters

mixed $recipient

Return Value

object

protected bool hasRecipient(object|array|string $address, string|null $name = null, string $property = 'to')

Determine if the given recipient is set on the mailable.

Parameters

object|array|string $address
string|null $name
string $property

Return Value

bool

$this subject(string $subject)

Set the subject of the message.

Parameters

string $subject

Return Value

$this

$this markdown(string $view, array $data = [])

Set the Markdown template for the message.

Parameters

string $view
array $data

Return Value

$this

$this view(string $view, array $data = [])

Set the view and view data for the message.

Parameters

string $view
array $data

Return Value

$this

$this html(string $html)

Set the rendered HTML content for the message.

Parameters

string $html

Return Value

$this

$this text(string $textView, array $data = [])

Set the plain text view for the message.

Parameters

string $textView
array $data

Return Value

$this

$this with(string|array $key, mixed $value = null)

Set the view data for the message.

Parameters

string|array $key
mixed $value

Return Value

$this

$this attach(string $file, array $options = [])

Attach a file to the message.

Parameters

string $file
array $options

Return Value

$this

$this attachFromStorage(string $path, string|null $name = null, array $options = [])

Attach a file to the message from storage.

Parameters

string $path
string|null $name
array $options

Return Value

$this

$this attachFromStorageDisk(string $disk, string $path, string|null $name = null, array $options = [])

Attach a file to the message from storage.

Parameters

string $disk
string $path
string|null $name
array $options

Return Value

$this

$this attachData(string $data, string $name, array $options = [])

Attach in-memory data as an attachment.

Parameters

string $data
string $name
array $options

Return Value

$this

$this assertSeeInHtml(string $string)

Assert that the given text is present in the HTML email body.

Parameters

string $string

Return Value

$this

$this assertDontSeeInHtml(string $string)

Assert that the given text is not present in the HTML email body.

Parameters

string $string

Return Value

$this

$this assertSeeInText(string $string)

Assert that the given text is present in the plain-text email body.

Parameters

string $string

Return Value

$this

$this assertDontSeeInText(string $string)

Assert that the given text is not present in the plain-text email body.

Parameters

string $string

Return Value

$this

protected array renderForAssertions()

Render the HTML and plain-text version of the mailable into views for assertions.

Return Value

array

Exceptions

ReflectionException

$this mailer(string $mailer)

Set the name of the mailer that should send the message.

Parameters

string $mailer

Return Value

$this

$this withSwiftMessage(callable $callback)

Register a callback to be called with the Swift message instance.

Parameters

callable $callback

Return Value

$this

static void buildViewDataUsing(callable $callback)

Register a callback to be called while building the view data.

Parameters

callable $callback

Return Value

void

$this __call(string $method, array $parameters)

Dynamically bind parameters to the message.

Parameters

string $method
array $parameters

Return Value

$this

Exceptions

BadMethodCallException