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.
protected 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.
static callable $viewDataCallback The callback that should be invoked while building the view data.

Methods

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

Forward a method call to the given object.

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(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.

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.

$this
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 $name = null, array $options = [])

Attach a file to the message from storage.

$this
attachFromStorageDisk(string $disk, string $path, string $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
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

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

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(Mailer $mailer)

Send the message using the given mailer.

Parameters

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

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

$this 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

$this

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 $name = null, array $options = [])

Attach a file to the message from storage.

Parameters

string $path
string $name
array $options

Return Value

$this

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

Attach a file to the message from storage.

Parameters

string $disk
string $path
string $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 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