env 文件
MAIL_DRIVER=smtp
MAIL_HOST=smtp.163.com
MAIL_PORT=25
MAIL_USERNAME=******
MAIL_PASSWORD=******
MAIL_ENCRYPTION=null
mail.php(目录 config/mail.php) address 指向发件人 的地址 也就你的 163邮箱 name 指发件人昵称
'from' => ['address' => '*********', 'name' => '王浩的测试'],
路由
Route::resource('/email','UserController@email');
控制器
/**
* 说明:发送邮件
*
* @author 王浩
*/
public function email()
{
$data = ['email'=>'491993108@qq.com', 'name'=>'王浩', 'uid'=>'123456', 'activationcode'=>'123456'];
Mail::send('index', $data, function($message) use($data)
{
$message->to(['491993108@qq.com'])->subject('欢迎注册我们的网站,请激活您的账号!');
});
}
如果没有安装 驱动 就把下面这句话 加入 composer.json文件中的 require-dev 中
"guzzlehttp/guzzle": "~5.3|~6.0"
如下
"require-dev": {
"fzaninotto/faker": "~1.4",
"mockery/mockery": "0.9.*",
"phpunit/phpunit": "~4.0",
"phpspec/phpspec": "~2.1",
"guzzlehttp/guzzle": "~5.3|~6.0"
},
然后 在项目根目录下 执行
composer update
laravel 学院中的 更多扩展内容
http://laravelacademy.org/post/213.html
发送邮件消息可能会大幅度延长应用的响应时间,许多开发者选择将邮件发送放到队列中再后台执行,Laravel中可以使用内置的统一队列API来实现。要将邮件消息放到队列中,使用Mail门面上的queue方法:
Mail::queue('emails.welcome', $data, function ($message) {
//
});
如果你想要延迟已经放到队列中邮件的发送,可以使用later方法。只需要传递你想要延迟发送的秒数作为第一个参数到该方法即可:
Mail::later(5, 'emails.welcome', $data, function ($message) {
//
});
如果你想要将邮件消息推送到指定队列,可以使用queueOn和laterOn方法:
Mail::queueOn('queue-name', 'emails.welcome', $data, function ($message) {
//
});
Mail::laterOn('queue-name', 5, 'emails.welcome', $data, function ($message) {
//
});
Laravel提供的另一种解决方案是为框架发送的所有邮件设置通用收件人,这样的话,所有应用生成的邮件将会被发送到指定地址,而不是实际发送邮件指定的地址。这可以通过在配置文件config/mail.php中设置to选项来实现:
'to' => [
'address' => 'dev@domain.com',
'name' => 'Dev Example'
],
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!