2017-06-23 7 views
0

Ich habe Probleme mit Warteschlangen beim Senden von E-Mails. E-Mails werden gesendet, wenn ich die Sendemethode verwenden:Warteschlangen funktionieren nicht

Mail::send 

Als ich in die Warteschlange Methode wechseln und konfigurieren Sie die Arbeitsplätze Tabelle, QUEUE_DRIVER und die failed_jobs Tabelle, alle Aufträge in der Warteschlange in der failed_jobs Tabelle landen. Ich habe nichts in der Datei queue.php berührt.

Unter Windows 7 als meine Entwicklerumgebung ausgeführt.

PHP Version 5.6.15

Ist diese Verwendung curl-Funktion (weil phpinfo zeigt, dass es aktiviert ist)?

Code:

.env Datei

QUEUE_DRIVER = Datenbank

Mailer

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); 
     }); 

Ich bin mit dieser Handwerker-Befehl (versucht Warteschlange: Arbeit und zu nutzen):

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

Löschen Sie Ihre Protokolldatei, und führen Sie Ihr Skript erneut und sehen Sie die Protokolldatei, Wunder eh? Sie haben wahrscheinlich irgendwo einen Syntaxfehler. Sie können auch die Tabelle "failed_jobs" öffnen und dort den Stack-Trace sehen. – Kyslik

+0

@Kyslik Ich habe eine PHP SERVER-Variable namens STORE_ID, die einen Ausnahmefehler zu erzeugen scheint. Ist es beim Senden über die Warteschlange nicht erreichbar? [2017-06-23 12:33:22] local.ERROR: Ausnahme 'ErrorException' mit Nachricht 'Undefinierter Index: STORE_ID' in C: \ xampp \ htdocs \ Server1 \ app \ ShippingSettings.php: 18 Stapelüberwachung: – andromeda

Antwort

0

Sie müssen diese STORE_ID-Sitzungsvariable an die Mail-Ansicht übergeben.

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

Die STORE_ID SERVER-Variable ist für meine Modelle nicht verfügbar, nicht nur für die E-Mail-Ansicht, so dass sie nicht funktioniert. Ich muss vielleicht darüber nachdenken, wie ich die STORE_ID während der gesamten Anwendung nutzen kann. – andromeda