溫馨提示×

Laravel中怎么發(fā)送電子郵件

小億
104
2024-04-17 10:59:32
欄目: 編程語言

在Laravel中發(fā)送電子郵件非常簡單,首先需要配置你的郵件驅(qū)動和郵件服務(wù)器信息,可以在`.env`文件中設(shè)置相關(guān)配置信息,例如:

```

MAIL_DRIVER=smtp

MAIL_HOST=smtp.example.com

MAIL_PORT=587

MAIL_USERNAME=your_email@example.com

MAIL_PASSWORD=your_email_password

MAIL_ENCRYPTION=tls

```

接下來,可以使用Laravel提供的`Mail` facade 來發(fā)送電子郵件。首先創(chuàng)建一個郵件類,可以使用Artisan命令生成:

```

php artisan make:mail OrderShipped

```

在生成的`OrderShipped`類中,可以設(shè)置郵件的內(nèi)容和模板:

```php

namespace App\Mail;

use Illuminate\Bus\Queueable;

use Illuminate\Mail\Mailable;

use Illuminate\Queue\SerializesModels;

use Illuminate\Contracts\Queue\ShouldQueue;

class OrderShipped extends Mailable

{

use Queueable, SerializesModels;

protected $order;

public function __construct($order)

{

$this->order = $order;

}

public function build()

{

return $this->view('emails.orders.shipped')

->with([

'orderName' => $this->order->name,

'orderPrice' => $this->order->price,

]);

}

}

```

然后,在需要發(fā)送郵件的地方,可以使用`Mail` facade 發(fā)送郵件:

```php

use App\Mail\OrderShipped;

use Illuminate\Support\Facades\Mail;

$order = new stdClass();

$order->name = 'Product A';

$order->price = 100;

Mail::to('recipient@example.com')->send(new OrderShipped($order));

```

以上代碼將會發(fā)送一個包含訂單信息的郵件給`recipient@example.com`。

0