【发布时间】:2018-03-29 20:30:03
【问题描述】:
我使用 Laravel 5.3
我试试 cc,效果很好
但我尝试密件抄送,存在这样的错误:
Call to undefined method Illuminate\Notifications\Messages\MailMessage::bcc()
我的代码是这样的:
<?php
namespace App\Notifications;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
use Illuminate\Notifications\Notification;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Notifications\Messages\MailMessage;
class ConfirmOrder extends Notification implements ShouldQueue, ShouldBroadcast
{
use Queueable;
private $data;
public function __construct($data)
{
$this->data = $data;
}
public function via($notifiable)
{
return ['mail'];
}
public function toMail($notifiable)
{
$mail_myshop = explode(',',config('app.mail_myshop'));
return (new MailMessage)
->bcc($mail_myshop)
->subject('Thanks')
->greeting('Hi '.$notifiable->name.',')
->line('....')
->line('...');
}
}
似乎 Laravel 5.3 不支持密件抄送
我该如何解决这个错误?
更新
我找到了解决办法
像这样在我的控制器中:
Mail::to(auth()->user())->send(new ConfirmOrder($data, auth()->user()));
在我的邮件中是这样的:
<?php
namespace App\Mail;
use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Queue\ShouldQueue;
class ConfirmPaymentMail extends Mailable
{
use Queueable, SerializesModels;
public $data;
public $user;
public function __construct($data, $user)
{
$this->data = $data;
$this->user = $user;
}
public function build()
{
$mail_myshop = explode(',',config('app.mail_myshop'));
return $this->view('vendor.notifications.mail.email-confirm-order',['data'=>$this->data, 'name' => $this->user->name])
->bcc($mail_myshop)
->subject('Test');
}
}
有效
【问题讨论】:
标签: laravel email laravel-5 notifications laravel-5.3