Changeset View
Changeset View
Standalone View
Standalone View
src/app/Mail/PasswordReset.php
<?php | <?php | ||||
namespace App\Mail; | namespace App\Mail; | ||||
use App\User; | |||||
use App\VerificationCode; | use App\VerificationCode; | ||||
use Illuminate\Bus\Queueable; | use Illuminate\Bus\Queueable; | ||||
use Illuminate\Mail\Mailable; | use Illuminate\Mail\Mailable; | ||||
use Illuminate\Queue\SerializesModels; | use Illuminate\Queue\SerializesModels; | ||||
use Illuminate\Support\Str; | |||||
class PasswordReset extends Mailable | class PasswordReset extends Mailable | ||||
{ | { | ||||
use Queueable; | use Queueable; | ||||
use SerializesModels; | use SerializesModels; | ||||
/** @var \App\VerificationCode A verification code object */ | /** @var \App\VerificationCode A verification code object */ | ||||
protected $code; | protected $code; | ||||
Show All 32 Lines | public function build() | ||||
'code' => $this->code->code, | 'code' => $this->code->code, | ||||
'short_code' => $this->code->short_code, | 'short_code' => $this->code->short_code, | ||||
'link' => sprintf('<a href="%s">%s</a>', $href, $href), | 'link' => sprintf('<a href="%s">%s</a>', $href, $href), | ||||
'username' => $this->code->user->name(true) | 'username' => $this->code->user->name(true) | ||||
]); | ]); | ||||
return $this; | return $this; | ||||
} | } | ||||
/** | |||||
* Render the mail template with fake data | |||||
* | |||||
* @return string HTML output | |||||
*/ | |||||
public static function fakeRender(): string | |||||
{ | |||||
$code = new VerificationCode([ | |||||
'code' => Str::random(VerificationCode::CODE_LENGTH), | |||||
'short_code' => VerificationCode::generateShortCode(), | |||||
]); | |||||
$code->user = new User([ | |||||
'email' => 'test@' . \config('app.domain'), | |||||
]); | |||||
$mail = new self($code); | |||||
return $mail->build()->render(); | |||||
} | |||||
} | } |