36 lines
1.0 KiB
PHP
36 lines
1.0 KiB
PHP
<?php
|
|
|
|
namespace App\Mail;
|
|
|
|
use Illuminate\Bus\Queueable;
|
|
use Illuminate\Mail\Mailable;
|
|
use Illuminate\Mail\Mailables\Address;
|
|
use Illuminate\Mail\Mailables\Content;
|
|
use Illuminate\Mail\Mailables\Envelope;
|
|
use Illuminate\Queue\SerializesModels;
|
|
|
|
// Adapted from investidor/app/Mail/ContactMessageReceivedMail.php.
|
|
class ContactMessageReceivedMail extends Mailable
|
|
{
|
|
use Queueable, SerializesModels;
|
|
|
|
/** @param array{name: string, email: string, phone?: string|null, subject: string, message: string, platform: string} $contactMessage */
|
|
public function __construct(public readonly array $contactMessage) {}
|
|
|
|
public function envelope(): Envelope
|
|
{
|
|
return new Envelope(
|
|
replyTo: [new Address($this->contactMessage['email'], $this->contactMessage['name'])],
|
|
subject: $this->contactMessage['subject'],
|
|
);
|
|
}
|
|
|
|
public function content(): Content
|
|
{
|
|
return new Content(
|
|
view: 'emails.contact-message-received',
|
|
text: 'emails.contact-message-received-text',
|
|
);
|
|
}
|
|
}
|