Laravelでキューでメール送信するとURLが変わってしまう
Laravel 5.1でメール本文にURLを記載して送信しています。
メールをキュー使わずに送信した時と、キューを使って送信した時で、メール本文のURLが変わってしまいます。どの様にしたら修正できるでしょうか?
テストはphp artisan serve
で実行しているので、URLはhttp://localhost:8000
です。
メール送信
private function sendConfirmMail(Mailer $mailer, User $user)
{
// $mailer->send(
$mailer->queue( // <--ここをキューに変更した
'emails.confirm',
['user' => $user, 'token' => $user->confirmation_token],
function($message) use ($user) {
$message->to($user->email, $user->name)->subject('ユーザー登録確認');
}
);
}
メールビュー: emails.confirm
<p>
ようこそ、{{ $user['name'] }} さん
</p>
<p>
以下のリンクをクリックしてユーザーを有効化してください。
</p>
<p>
<a href="{{ url('auth/confirm', [$token]) }}">ユーザーを有効化する</a>
</p>
<p>
{{ url('auth/confirm', [$token]) }}
</p>
届いたメール:$mail->send()の時
ようこそ、Hoge さん
以下のリンクをクリックしてユーザーを有効化してください。
ユーザーを有効化する
http://localhost:8000/auth/confirm/d1533d919888227a3b2a48a4ed483686bcb19a45ad3b9c46e4c1f0c144dde269
URLは正しくhttp://localhost:8000
と表示されている
届いたメール:$mail->queue()の時
ようこそ、Hoge さん
以下のリンクをクリックしてユーザーを有効化してください。
ユーザーを有効化する
http://localhost/auth/confirm/d1533d919888227a3b2a48a4ed483686bcb19a45ad3b9c46e4c1f0c144dde269
URLが何故かhttp://localhost
と表示される