schneespur/release/schneespur-1.0.2/app/Mail/PortalCredentialsMail.php
Michael 7288b93500 Release v1.0.2: diagnostic infrastructure core
Add neutral diagnostic framework for future reporting modules:
- DiagnosticReporterInterface, Registry, Manager, PayloadSanitizer
- Laravel exception hook in bootstrap/app.php
- Module permission declarations (requires_permissions in module.json)
- Core diagnostic report points (module boot/install/update failures)
- Module documentation update (moduldoku.md)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-18 16:54:11 +00:00

48 lines
1.1 KiB
PHP

<?php
namespace App\Mail;
use App\Models\Customer;
use Illuminate\Mail\Mailable;
use Illuminate\Mail\Mailables\Content;
use Illuminate\Mail\Mailables\Envelope;
class PortalCredentialsMail extends Mailable
{
public function __construct(
public Customer $customer,
public string $plainPassword,
public bool $isReset = false,
) {}
public function envelope(): Envelope
{
$key = $this->isReset
? 'notification.portal_credentials_reset_subject'
: 'notification.portal_credentials_subject';
return new Envelope(
subject: __($key),
);
}
public function content(): Content
{
return new Content(
markdown: 'mail.portal-credentials',
with: [
'customer' => $this->customer,
'password' => $this->plainPassword,
'isReset' => $this->isReset,
],
);
}
public function build(): static
{
$this->locale($this->customer->locale ?? 'de');
$this->replyTo(config('mail.from.address'));
return $this;
}
}