ジョブ キューに画像を埋め込む際に奇妙な問題があります。
開発にはWAMPを使用しています。私のプロジェクトのフォルダー構造は
C:\wamp\MyProject
で、パブリック ディレクトリは
C:\wamp\www\appにあります
Mail::send('emails.mailtemplate_rule', ['body' => $data['body']], function ($message) use ($data) {
$message->to($data['to']);
$message->from($data['from'], $data['namefrom']);
$message->subject($data['subject']);
});
<img src="{{ $message->embed('assets/images/logo.png')}}" alt='MyProject' data-default="placeholder" data-max-width="300">
これを実行すると正常に動作しますが、ドライバーを「同期」から「データベース」に変更し、メール機能を次のように更新すると、次のようになります。
Mail::queue('emails.mailtemplate_template', ['body' => $data['body']], function ($message) use ($data) {
$message->to($data['to']);
$message->from($data['from'], $data['namefrom']);
$message->subject($data['subject']);
});
上記を実行すると、ジョブ テーブルにデータ エントリが表示されます。しかし、コマンドを実行すると: php artisan queue:work
例外としてスローされます
[エラー例外]
fopen(assets/images/logo.png): ストリームを開けませんでした: そのようなファイルやディレクトリはありません
画像を削除すると、チャームとして機能します。ジョブキューを使用せずに画像を見つけてメールに埋め込むことができるのに、なぜ画像を見つけることができないのか疑問に思っています。希望どおりに動作するはずです。
これに対する任意の助けをいただければ幸いです。