第一步批改配置文件:
MAIL_DRIVER=smtpMAIL_HOST=smtp.exmail.qq.comMAIL_PORT=465MAIL_USERNAME=邮箱地址MAIL_PASSWORD=邮箱受权码MAIL_ENCRYPTION=sslMAIL_FROM_ADDRESS=邮箱地址MAIL_FROM_NAME=邮箱名称(本人定义)这里应用的是腾讯企业邮箱的smtp驱动,可依据理论状况来更改
第二步生成邮件类,所有的邮寄类配置都在 build 办法中实现,能够调用from,subject, view, 和 attach 来配置邮件的内容和发送
php artisan make:mail AlarmsMail
第三步,编辑邮件类
<?phpnamespace App\Mail;use Illuminate\Bus\Queueable;use Illuminate\Contracts\Queue\ShouldQueue;use Illuminate\Mail\Mailable;use Illuminate\Queue\SerializesModels;class AlarmsMail extends Mailable implements ShouldQueue{ use Queueable, SerializesModels; private $err; /** * Create a new message instance. * * @return void */ public function __construct($e) { $data = [ 'msg' => $e->getMessage(), 'code' => $e->getCode(), 'file' => $e->getFile(), 'line' => $e->getLine(), ]; $this->err = $data; $this->subject = "XXXX告警"; } /** * Build the message. * * @return $this */ public function build() { return $this->view('mail.alarms', $this->err); }}
第四步,创立视图
<!DOCTYPE html><html><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1"><head> <style> .list-group { padding-left: 0; margin-bottom: 20px; } .list-group-item { position: relative; display: block; padding: 10px 15px; margin-bottom: -1px; background-color: #fff; border: 1px solid #ddd; } .code { color: red; } .col-md-12 { width: 100%; } </style></head><body><div class="container"> <div class="row"> <div class="col-md-12"> <div class="list-group"> <span class="list-group-item code">错误码:{{$code}}</span> <span class="list-group-item code">谬误内容:{{$msg}}</span> <span class="list-group-item code">谬误文件:{{$file}}</span> <span class="list-group-item code">谬误行数:{{$line}}</span> </div> </div> </div></div></body></html>
第五步,调用
use Illuminate\Support\Facades\Mail;use App\Mail\AlarmsMail;try { throw new \Exception("我是一个异样,我异样了"); } catch (\Exception $e){ Mail::to(config('services.alarms_receive_mail'))->send(new AlarmsMail($e)); }
后果:
至此一个简略版的异样告警邮件发送曾经实现了,还有好多的配置能够操作,比方发送纯文本邮件,减少附件,还能够抄送和密送收件人,具体能够参考文档 https://learnku.com/docs/lara...