Php 向作为Laravel通知发送的电子邮件添加标题
有人知道如何在通过电子邮件发送的邮件中添加标题吗 我不是说可以通过Php 向作为Laravel通知发送的电子邮件添加标题,php,laravel,email,laravel-notification,Php,Laravel,Email,Laravel Notification,有人知道如何在通过电子邮件发送的邮件中添加标题吗 我不是说可以通过withSwiftMessage()方法设置头的类 我还想继续使用MailMessage,一旦我有了大量使用行,问候语方法生成的电子邮件 有人有线索吗 这是我的密码,以防有人需要看到任何东西 实际上我找到了两种附加头的方法 当通过邮件通道发送通知时,将触发照亮\mail\Events\MessageSending事件 附加一个侦听器到它。在handle() 或者在AppServiceProvider的register()方法中,使
withSwiftMessage()
方法设置头的类
我还想继续使用MailMessage
,一旦我有了大量使用行
,问候语
方法生成的电子邮件
有人有线索吗
这是我的密码,以防有人需要看到任何东西
实际上我找到了两种附加头的方法
当通过邮件通道发送通知时,将触发照亮\mail\Events\MessageSending
事件
附加一个侦听器到它。在handle()
或者在AppServiceProvider
的register()
方法中,使用自己的方法覆盖MailChannel
,并在send()
方法中附加标题
$this->app->bind(
\Illuminate\Notifications\Channels\MailChannel::class,
MyMailChannel::class
);
在./app/Notifications/myNotification.php中,将以下代码添加到_construct()函数中:
$this->callbacks[]=( function($message){
$message->getHeaders()->addTextHeader('x-mailgun-native-send', 'true');
});
将“x-mailgun-native-send”替换为您希望添加的任何标题,
和具有所需值的“true”
见黛比五世的答案非常接近,但并不完全正确。她提到的问题很清楚,但她错过了解决方案提供的必要背景
默认情况下,Laravel中的通知使用MailMessage
,但是您也可以让它返回Mailable
。只有在以下情况下:a)创建自定义邮件,以及b)使用该邮件而不是MailMessage
时,才会应用回调
更完整的解决方案是:
创建一个定制的可邮寄类php artisan make:mail MyMailable
将您的公共函数更新为mail($notifiable)
方法,以使用新的可邮寄
将回调添加到MyMailable
类的构造函数中
在那之后,你应该一切都好。最困难的部分是调整当前的MailMessage
以适应Mailable
的API。谢谢,事件侦听器看起来是添加标题并继续使用简单通知的最简单方法。这似乎在5.7上不起作用。。。不会调用回调。因为callbacks
是Mailable
的属性,而不是Notification
的属性,链接的laravel ideas问题是针对laravel 5.8而不是5.7合并的。