2017-06-23 104 views
0

發送電子郵件時遇到隊列問題。排隊不工作

Mail::send 

當我切換到隊列方法和配置工作表,QUEUE_DRIVER和failed_jobs表,隊列中的所有作業的failed_jobs表來結束:當我用send方法電子郵件發送。我沒有觸及queue.php文件中的任何內容。

在Windows 7上作爲我的開發人員環境運行。

PHP版本5.6.15

此功能使用捲曲(因爲的phpinfo顯示它已啓用)?

代碼:

.ENV文件

QUEUE_DRIVER =數據庫

梅勒

Mail::queue('emails.orderEmail', 
     [ 
     'user' => Auth::user() 
    ], function ($m) { 
     $m->from($this->business->email, $this->business->business_name); 
     $m->to($this->recipientEmail); 
     $m->subject($this->subject); 
     $m->replyTo($this->business->email, $this->name); 
     }); 

我運行此命令工匠(試過隊列:工作,以及到達):

php artisan queue:listen --tries=3 
+1

刪除您的日誌文件,並再次運行您的腳本,看到日誌文件,奇蹟呃?你最有可能在某處出現語法錯誤。您也可以打開'failed_jobs'表並在那裏看到堆棧跟蹤。 – Kyslik

+0

@Kyslik我有一個名爲STORE_ID的php SERVER變量,這似乎產生了一個異常錯誤。通過隊列發送時不可訪問嗎? [2017-06-23 12:33:22] local.ERROR:在C:\ xampp \ htdocs \ Server1 \ app \ ShippingSettings.php中有消息'Undefined index:STORE_ID'的異常'ErrorException':18 堆棧跟蹤: – andromeda

回答

0

您必須將該STORE_ID會話變量傳遞給郵件視圖。

Mail::queue('emails.orderEmail', 
    [ 
    'user' => Auth::user(), 
    'store_id' => session('STORE_ID') 
], function ($m) { 
+0

STORE_ID SERVER變量對我的模型不可用,也不僅僅是電子郵件視圖,因此它不起作用。我可能需要重新考慮在整個應用程序中如何利用STORE_ID。 – andromeda