2017-12-19 2 views
1

Ich habe eine Mailadresse, mit der ich keine Probleme habe, außer das Thema dynamisch zu setzen. Für das Leben von mir kann ich die Betreffzeile nicht auf etwas anderes als programmierten Text ändern (Beispiel: Ihr Konto ist bereit), aber ich würde gerne sagen können: "Ihr Konto ist bereit {{$ user-> name}}" .Laravel - Mailables Dynamisches Subjekt (mit Sparkpost)

Allerdings, wenn ich dies tun, erhalte ich die folgende Fehlermeldung zurückgegeben:

"message": "Client error: `POST https://api.sparkpost.com/api/v1/transmissions` resulted in a `422 Unprocessable Entity` response:\n{ \"errors\": [ { \"message\": \"substitution language syntax error in template content\", \"description\": \"Error while compili (truncated...)\n", 
    "exception": "GuzzleHttp\\Exception\\ClientException", 
    "file": "C:\\xampp\\htdocs\\truckin\\vendor\\guzzlehttp\\guzzle\\src\\Exception\\RequestException.php", 
    "line": 113, 
    "trace": [ 

ich Variablen wie {{$ user-> name}} in dem Körper der E-Mail passieren kann, aber ich nicht passieren kann irgendeine Variable zu meinem versendbaren Thema.

Im Moment hat die verschickbaren diese Vorlage:

<?php 

namespace App\Mail; 

use Illuminate\Bus\Queueable; 
use Illuminate\Mail\Mailable; 
use Illuminate\Queue\SerializesModels; 
use Illuminate\Contracts\Queue\ShouldQueue; 

use App\Shipment; 

class newFreightBill extends Mailable 
{ 
    use Queueable, SerializesModels; 

    /** 
    * Create a new message instance. 
    * 
    * @return void 
    */ 
    public $shipment; 

    public function __construct(Shipment $shipment) 
    { 
     $this->shipment = $shipment; 
    } 

    /** 
    * Build the message. 
    * 
    * @return $this 
    */ 
    public function build() 
    { 
     return $this->from('[email protected]') 
        ->subject('New Account Created') 
        ->view('emails.account.created'); 
    } 
} 

Ich bin mit Laravel 5.4.

+0

Können Sie den Code anzeigen Controller auch? –

Antwort

2
public function build() 
    { 
     $data['name']  = 'pass your user name here'; 
     return $this->from('[email protected]') 
        ->subject('New Account Created') 
        ->view('emails.account.created',$data); 
    } 
  1. Ihrer Ansicht Seite (emails.account.created) Sie mögen dieses nennen können "Ihr Konto ist Bereit {{$ user-> name}}"
Verwandte Themen