Optimize academy
This commit is contained in:
47
app/Mail/AcademyAccessIssue.php
Normal file
47
app/Mail/AcademyAccessIssue.php
Normal file
@@ -0,0 +1,47 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace App\Mail;
|
||||
|
||||
use App\Models\User;
|
||||
use Illuminate\Bus\Queueable;
|
||||
use Illuminate\Mail\Mailable;
|
||||
use Illuminate\Queue\SerializesModels;
|
||||
|
||||
final class AcademyAccessIssue extends Mailable
|
||||
{
|
||||
use Queueable, SerializesModels;
|
||||
|
||||
public function __construct(
|
||||
public readonly User $user,
|
||||
public readonly ?string $message = null,
|
||||
public readonly ?string $sessionId = null,
|
||||
public readonly ?string $issueType = null,
|
||||
public readonly ?string $contactEmail = null,
|
||||
)
|
||||
{
|
||||
}
|
||||
|
||||
public function build(): self
|
||||
{
|
||||
$subject = 'Academy support request'.($this->issueType ? ' ['.$this->issueType.']' : '').' from '.$this->user->email;
|
||||
$replyTo = trim((string) ($this->contactEmail ?: $this->user->email));
|
||||
|
||||
$mail = $this->subject($subject)
|
||||
->view('emails.academy_access_issue')
|
||||
->with([
|
||||
'user' => $this->user,
|
||||
'message' => $this->message,
|
||||
'sessionId' => $this->sessionId,
|
||||
'issueType' => $this->issueType,
|
||||
'contactEmail' => $this->contactEmail,
|
||||
]);
|
||||
|
||||
if ($replyTo !== '') {
|
||||
$mail->replyTo($replyTo);
|
||||
}
|
||||
|
||||
return $mail;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user