Laravel使用smtp发送邮件
程序员文章站
2022-06-16 16:37:56
...
先安装 Guzzle HTTP 库
composer require guzzlehttp/guzzle
安装成功如下:
配置文件是config/mail.php
邮件默认驱动是smtp
在修改.env配置前需要开通163邮箱第三方调用授权密码
登录163邮箱然后点下面这里
点击这里开通授权密码:
下面是163的服务器地址:
在.env文件修改配置如下:
MAIL_DRIVER=smtp
MAIL_HOST=smtp.163.com //这个地方固定
MAIL_PORT=465 //我的是阿里云服务器这里使用465
MAIL_USERNAME=your-mail-username //发送邮件的邮箱账号
MAIL_PASSWORD=your-mail-password //发送邮件的邮箱授权密码
MAIL_ENCRYPTION=ssl
生成可邮寄类,这些类都存放在 app/Mail 目录:
php artisan make:mail OrderShipped
修改app/Mail/OrderShipped.php文件的build方法:
/**
* Build the message.
*
* @return $this
*/
public function build()
{
return $this->from(‘aaa@qq.com’)
->view(‘emails.email1’);
//return $this->view(‘view.name’);
}
创建resources/views/emails/email1.blade.php,修改如下:
我发送的邮件
```创建MailController:
php artisan make:controller MailController
修改app/Http/Controllers/MailController如下:
<?php
namespace App\Http\Controllers;
use App\Mail\OrderShipped;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Mail;
class MailController extends Controller
{
public function send_email()
{
Mail::to('aaa@qq.com')->send(new OrderShipped());
}
}
修改routes/web.php加入如下内容:
Route::get('/send_email','aaa@qq.com_email');
把代码推送到线上服务器运行。
发送成功截图如下:
上一篇: 自定义面板优化统计标题卡
下一篇: 前后台校验示例及讲解