我最初尝试使用没有队列的代码,效果很好。由于执行需要很长时间才能得到结果,所以我第一次尝试使用队列。
这些是我所做的步骤:
路线:
Route::get('/getemail', [Controller::class, 'mail'])->name('email.get');
控制器:
public function mail()
{
dispatch((new SendEmail()));
}
工作:发送电子邮件
public function __construct()
{
//
}
public function handle()
{
$oClient = EmailClient::account('default');
$oClient->connect();
$folders = $oClient->getFolders("INBOX")->first();
$fatture = Invoice::all();
$messages = $folders->query()->since(now()->subDays(300))->get();
foreach ($messages as $message) {
if (str_contains($message->getSubject(), "Ricevuta")) {
//dd($message->getRawBody());
$value = strstr($message->getRawBody(), "<NomeFile>");
$result = substr($value, 10, 24);
//echo $result . "<br>";
foreach ($fatture as $fattura) {
if ($fattura->nome_file == $result) {
echo $result . "<br>";
}
}
}
}
}
特别是,我想从每封电子邮件中检索一些信息。
由于我用 echo 显示结果,我注意到显示了一个没有内容的空白页面。
由于这是我第一次使用队列,请有人告诉我问题出在哪里吗?
谢谢大家!!!
您的路线未正确定义。
Route::get('/getemail', [ControllerName::class, 'mail'])->name('email.get');
添加控制器依赖