working with Laravel 5.7 and I have VeryfyMail system. I need sending some random number to subject on email in app/Mail VeryfyMail.php file,
VeryfyMail.php
<?php
namespace App\Mail;
use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Queue\ShouldQueue;
class VerifyMail extends Mailable
{
use Queueable, SerializesModels;
public $user;
public function __construct($user)
{
$this->user = $user;
}
public function build()
{
//return $this->view('emails.verifyUser');
return $this->subject('')->view('emails.verifyUser');
}
}
how can I generate some ramdon number on above file subject?
Since you said you want he random token as the subject, just do:
When creating tokens, you usually want something that's cryptographically secure to make it much harder for clever attackers to "guess" the tokens. Luckily, PHP introduced random_bytes() in PHP 7.
This will create a hexadecimal random token:
// Get some random bytes
$token = random_bytes(8);
// Since random_bytes() returns a string with all kinds of bytes,
// it can't be presented "as is".
// We need to convert it to a better format. Let's use hex
$token = bin2hex($token)
// Now just add the variable as the subject
return $this->subject($token)->view('emails.verifyUser');
If you rather want only numbers, we can use random_int() instead:
// Generate the token. Add the min and max value
$token = random_int(1000000, 9999999);
// Use it as the subject
return $this->subject($token)->view('emails.verifyUser');