Laravel - Mailables动态主题(使用SparkPost)

时间:2017-12-19 04:19:27

标签: php laravel laravel-5 sparkpost

我有一个mailable,除了动态设置主题外,我没有任何问题。对于我的生活,我无法将主题行更改为除编程文本之外的任何内容(例如 - 您的帐户已准备就绪)但我希望能够说出“#34;您的帐户已准备就绪{{$ user- >名称}}"

但是,当我这样做时,我收到以下错误:

"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": [

我可以在电子邮件正文中传递{{$ user-> name}}等变量,但我无法将任何变量传递给我的可邮寄主题。

目前,mailable有这个模板:

<?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('myEmail@email.com')
                    ->subject('New Account Created')
                    ->view('emails.account.created');
    }
}

我使用的是Laravel 5.4。

1 个答案:

答案 0 :(得分:2)

public function build()
    {
        $data['name']     = 'pass your user name here';
        return $this->from('myEmail@email.com')
                    ->subject('New Account Created')
                    ->view('emails.account.created',$data);
    }
  1. 在您的查看页面(emails.account.created)中,您可以这样打电话&#34;您的帐户已准备就绪{{$ user-&gt; name}}&#34;