Mailer
class Mailer implements Mailer, MailQueue (View source)
Traits
Properties
| static protected array | $macros | The registered string macros. |
from Macroable |
| protected string | $name | The name that is configured for the mailer. |
|
| protected Factory | $views | The view factory instance. |
|
| protected TransportInterface | $transport | The Symfony Transport instance. |
|
| protected Dispatcher|null | $events | The event dispatcher instance. |
|
| protected array | $from | The global from address and name. |
|
| protected array | $replyTo | The global reply-to address and name. |
|
| protected array | $returnPath | The global return path address. |
|
| protected array | $to | The global to address and name. |
|
| protected Factory | $queue | The queue factory implementation. |
Methods
Mix another object into the class.
Dynamically handle calls to the class.
Dynamically handle calls to the class.
Create a new Mailer instance.
Set the global from address and name.
Set the global reply-to address and name.
Set the global return path address.
Set the global to address and name.
Begin the process of mailing a mailable class instance.
Begin the process of mailing a mailable class instance.
Begin the process of mailing a mailable class instance.
Send a new message with only an HTML part.
Send a new message with only a raw text part.
Send a new message with only a plain part.
Render the given message as a view.
Replace the embedded image attachments with raw, inline image data for browser rendering.
Add the content to a given message.
Queue a new mail message for sending after (n) seconds.
Queue a new mail message for sending after (n) seconds on the given queue.
Create a new message instance.
Send a Symfony Email instance.
Determines if the email can be sent.
Get the Symfony Transport instance.
Get the view factory instance.
Set the Symfony Transport instance.
Details
static void
macro(string $name, object|callable $macro)
Register a custom macro.
static void
mixin(object $mixin, bool $replace = true)
Mix another object into the class.
static bool
hasMacro(string $name)
Checks if macro is registered.
static void
flushMacros()
Flush the existing macros.
static mixed
__callStatic(string $method, array $parameters)
Dynamically handle calls to the class.
mixed
__call(string $method, array $parameters)
Dynamically handle calls to the class.
__construct(string $name, Factory $views, TransportInterface $transport, Dispatcher|null $events = null)
Create a new Mailer instance.
void
alwaysFrom(string $address, string|null $name = null)
Set the global from address and name.
void
alwaysReplyTo(string $address, string|null $name = null)
Set the global reply-to address and name.
void
alwaysReturnPath(string $address)
Set the global return path address.
void
alwaysTo(string $address, string|null $name = null)
Set the global to address and name.
PendingMail
to(mixed $users, string|null $name = null)
Begin the process of mailing a mailable class instance.
PendingMail
cc(mixed $users, string|null $name = null)
Begin the process of mailing a mailable class instance.
PendingMail
bcc(mixed $users, string|null $name = null)
Begin the process of mailing a mailable class instance.
SentMessage|null
html(string $html, mixed $callback)
Send a new message with only an HTML part.
SentMessage|null
raw(string $text, mixed $callback)
Send a new message with only a raw text part.
SentMessage|null
plain(string $view, array $data, mixed $callback)
Send a new message with only a plain part.
string
render(string|array $view, array $data = [])
Render the given message as a view.
protected string
replaceEmbeddedAttachments(string $renderedView, array $attachments)
Replace the embedded image attachments with raw, inline image data for browser rendering.
SentMessage|null
send(Mailable|string|array $view, array $data = [], Closure|string|null $callback = null)
Send a new message using a view.
protected SentMessage|null
sendMailable(Mailable $mailable)
Send the given mailable.
SentMessage|null
sendNow(Mailable|string|array $mailable, array $data = [], Closure|string|null $callback = null)
Send a new message synchronously using a view.
protected array
parseView(Closure|array|string $view)
Parse the given view name or array.
protected void
addContent(Message $message, string|null $view, string|null $plain, string|null $raw, array $data)
Add the content to a given message.
protected string
renderView(Closure|string $view, array $data)
Render the given view.
protected void
setGlobalToAndRemoveCcAndBcc(Message $message)
Set the global "to" address on the given message.
mixed
queue(Mailable|string|array $view, string|null $queue = null)
Queue a new mail message for sending.
mixed
onQueue(BackedEnum|string|null $queue, Mailable $view)
Queue a new mail message for sending on the given queue.
mixed
queueOn(string $queue, Mailable $view)
Queue a new mail message for sending on the given queue.
This method didn't match rest of framework's "onQueue" phrasing. Added "onQueue".
mixed
later(DateTimeInterface|DateInterval|int $delay, Mailable|string|array $view, string|null $queue = null)
Queue a new mail message for sending after (n) seconds.
mixed
laterOn(string $queue, DateTimeInterface|DateInterval|int $delay, Mailable $view)
Queue a new mail message for sending after (n) seconds on the given queue.
protected Message
createMessage()
Create a new message instance.
protected SentMessage|null
sendSymfonyMessage(Email $message)
Send a Symfony Email instance.
protected bool
shouldSendMessage(Email $message, array $data = [])
Determines if the email can be sent.
protected void
dispatchSentEvent(SentMessage $message, array $data = [])
Dispatch the message sent event.
TransportInterface
getSymfonyTransport()
Get the Symfony Transport instance.
Factory
getViewFactory()
Get the view factory instance.
void
setSymfonyTransport(TransportInterface $transport)
Set the Symfony Transport instance.
$this
setQueue(Factory $queue)
Set the queue manager instance.
Laravel Cloud is the best place to deploy Laravel, Nuxt, Express, Hono, Node.js, Bun, Go, Flask, Python, and more, with dedicated infrastructure available on AWS through Laravel Private Cloud.