2017-04-07 2 views
0

Hallo Ich versuche, eine E-Mail mit einer Excel-Datei von einem Befehl zu senden, aber es scheint nichtMail-Methode in einem Cronjob Aufgabe Befehl

ich diese Ausnahme erhalten, funktioniert wenn ich versuche, den Handwerker Befehl auszuführen:

Call to undefined Methode Illuminate \ Mail \ PendingMail :: Thema()

jemand jetzt, wie das Problem zu lösen? Vielen Dank im Voraus

hier mein Kommando:

public function handle() 
{ 
    $user = Auth::user(); 

    $licencies = Licencies::where('lb_assurance' , '=' , 'Lafont') 
     ->where('created_at' , Carbon::today())->get(); 

    $excel_file = Excel::create('DailyRecapLicencesLafont', 
     function($excel) use ($licencies) { 
      $excel->sheet('Excel', function($sheet) use ($licencies) { 
       $sheet->fromArray($licencies); 
      }); 
      }); 

     Mail::to($user) 
      ->subject('Licences Lafont Daily') 
      ->from('[email protected]') 
      ->attach($excel_file , 'LaFontDaily.xls') 
      ->send(); 

     $this->info('Lafont task Done'); 
    } 
+0

welche Laravel Version? – dparoli

+0

ich benutze L 5.4 !!! –

+0

Ihre Mail-Fassade Verwendung ist nicht korrekt, überprüfen Sie bitte die Dokumente zum Senden von rohen E-Mails: https://laravel.com/docs/5.1/mail#sending-mail – dparoli

Antwort

0

Try Post wie folgt zu verwenden:

Mail::raw('Text to e-mail', function ($m) use ($user, $excel_file) { 
    $m->to($user->email); 
    $m->subject('Licences Lafont Daily'); 
    $m->from('[email protected]'); 
    $m->attachData($excel_file->string() , 'LaFontDaily.xls'); 
}); 

Quelle: laravel 5.1 docs, immer noch gültig zu einem großen Teil für 5,4

Nicht Sicher, wenn $ excel_file ein in Speicher ist, so ist es besser, wenn Sie die Datei vorher speichern und rufen Sie:

$m->attach($path_to_file , 'LaFontDaily.xls'); 

Seitennotiz: Auth::user() sollte nichts in einem Befehl zurückgeben, daher ist es besser, wenn Sie eine vordefinierte E-Mail-Adresse in der Funktion to() verwenden.

+0

kann nicht auf $ user auch zugreifen! –

+0

Ich aktualisiere den Code für $ Benutzerzugriff – dparoli

+0

Ich bekomme versuchen, die Eigenschaft von nicht Objekt –