生成邮件
php artisan make:mail Email
生成文件在 app\Mail\Email 目录
设置邮件类
<?php
namespace App\Mail;
use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
class Email extends Mailable
{
use Queueable, SerializesModels;
public $SendInfo;
/**
* Create a new message instance.
*
* @return void
*/
public function __construct()
{
$this->SendInfo = [
'title' => '测试标题',
'text' => '测试内容'
];
}
/**
* Build the message.
*
* @return $this
*/
public function build()
{
return $this->view('Email.send');
}
}
设置邮件模板
resources/views/Email/send.blade.php
<h1>标题:{{$SendInfo['title']}}</h1>
<div>
内容: {{$SendInfo['text']}}
</div>
控制器调用邮件功能
<?php
namespace App\Http\Controllers\Back;
use App\Mail\Email;
use Illuminate\Support\Facades\Mail;
use App\Http\Controllers\Controller;
class MailController extends Controller
{
public function send()
{
Mail::to('要发送的邮件地址')->send(new Email());
}
}
设置路由
Route::get('sendEmail','MailController@send');
设置邮件服务配置,我使用的是QQ邮件服务器
在 .env 文件中配置
MAIL_DRIVER=smtp
MAIL_HOST=smtp.qq.com
MAIL_PORT=25
MAIL_USERNAME=123456@qq.com
MAIL_PASSWORD=zxcvbnmzxcasd
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=123456@qq.com
MAIL_FROM_NAME=Email