Laravel5.4で、パスワード再設定メールテンプレートをカスタマイズです。HTMLメールではなく、テキストメールで送信するように設定してみたかったのですが、挫折しました。たぶん、テキストでは送れないような気がします(?)
参考サイト
Laravel5.3でパスワードリセットメールをテキスト形式で送りたいのですがどうすればできますか。(teratail)
Laravel 5.3 Redefine reset email blade template(Stack Overflow)
Illuminate\Notifications\Messages\MailMessage(Laravel API)
/app/User.php
$ php artisan make:notification TextPasswordReset
/app/Notifications/TextPasswordReset.php
use App\Notifications\TextPasswordReset;
class User extends Authenticatable
{
// sendPasswordResetNotificationをオーバーライド
public function sendPasswordResetNotification($token)
{
$this->notify(new TextPasswordReset($token));
}
}
/resources/views/emails/reset.blade.php(結局、改行などはHTMLタグを使うしかない。)
use Illuminate\Auth\Notifications\ResetPassword;
class TextPasswordReset extends ResetPassword
{
use Queueable;
public $token;
public function __construct($token)
{
$this->token = $token;
}
public function via($notifiable)
{
return ['mail'];
}
public function toMail($notifiable)
{
return (new MailMessage)
->subject('パスワード再設定')
->view('emails.reset')
// ->markdown('emails.reset') これは、HTMLメールになってしまう。
->action('再設定', url('/password/reset', $this->token));
}
}
下記URLをクリックして、パスワードを再設定してください。<br>
<br>
{{ $actionUrl }}
参考サイト
Laravel5.3でパスワードリセットメールをテキスト形式で送りたいのですがどうすればできますか。(teratail)
Laravel 5.3 Redefine reset email blade template(Stack Overflow)
Illuminate\Notifications\Messages\MailMessage(Laravel API)