2017-10-04 51 views
-1

一起发送一些变量这是我的邮件类我想用改善laravel电子邮件发送电子邮件,我想与视图

class createassets extends Mailable 
{ 
    use Queueable, SerializesModels; 

/** 
* Create a new message instance. 
* 
* @return void 
*/ 
public function __construct() 
{ 
    // 
} 

/** 
* Build the message. 
* 
* @return $this 
*/ 
public function build() 
{ 
    return $this->view('email.createassets'); 
} 
} 

这是我在哪里调用此邮件类发送电子邮件的功能,但我想在视图上发送一些变量。我使用下面的方法,但越来越不确定的变量错误

$responsibleperson=employees::where('id',Input::get('rid'))->first(); 
       Mail::to($responsibleperson->email)->send(new createassets)->with([ 
        'username' => $responsibleperson->name, 
        'inventoryno' => $lastid, 
        'creator'=>Auth::user()->name 
       ]);; 

我想告诉用户名创造者inventoryno在电子邮件视图

+0

你试过我的答案? –

+0

你好,如果你尝试了我们的解决方案,那么请接受它,并upvote它。如果你找到你自己的解决方案,然后将其作为回答按照SO指导方针> https://stackoverflow.com/help/someone-answers谢谢! –

回答

0

首先使用降价文件作为Laravel 5.5鼓励我们使用他们是快速和容易做格式化MD文件,也可以生成使用MD文件中的文本邮件。

阅读docs更多

<?php 

namespace App\Mail; 

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

class createassets extends Mailable 
{ 
    use Queueable, SerializesModels; 

    protected $username; 
    public $inventoryno; 
    protected $creator; 
    /** 
    * Create a new message instance. 
    * 
    * @return void 
    */ 
    public function __construct($username,$inventoryno,$creator) 
    { 
     $this->username = $username; 
     $this->inventoryno = $inventoryno; 
     $this->creator = $creator; 

    } 

    /** 
    * Build the message. 
    * 
    * @return $this 
    */ 
    public function build() 
    { 
     return $this->markdown('emails.createassets') 
        ->with([ 
         'username' => $this->username, 
         'inventoryno' => $this->inventoryno, 
         'creator' => $this->creator, 
        ]); 
    } 
} 
0

试试这个:

$data = array('email' => '[email protected]', 'first_name' => 'Lar', 'from' => '[email protected]', 'from_name' => 'Vel'); 

Mail::send('email.welcome', $data, function($message) use ($data) 
{ 
    $message->to($data['email'])->from($data['from'], $data['first_name'])->subject('Welcome!'); 
}); 

源: http://laravel-tricks.com/tricks/pass-variables-inside-the-mail-function

您可以直接在视图中使用变量

Name: {{$first_name}} 
Email: {{$email}} 
+0

我想使用改进的结构,这是我必须做的与邮件类 –

+0

此外您的问题是与https://stackoverflow.com/questions/19412055/sending-email-with-laravel-but-doesnt-recognize -变量 –