2017-05-21 37 views
0

我試圖改變「[email protected]」地址爲類似郵件時添加發件人和主題:[email protected]並試圖添加自定義地址,但我不能讓它工作。發送使用作業和降價

我該添加哪個文件題目

我.ENV文件

MAIL_DRIVER=smtp 

MAIL_HOST=smtp.gmail.com 
MAIL_PORT=587 
[email protected] 
MAIL_PASSWORD=password 
MAIL_ENCRYPTION=tls 
[email protected] 
MAIL_FROM_NAME="Custom App Name" 

控制器代碼

dispatch(new JblockedUser($user)); 

工作文件

<?php 

namespace App\Jobs; 

use Illuminate\Bus\Queueable; 
use Illuminate\Queue\SerializesModels; 
use Illuminate\Queue\InteractsWithQueue; 
use Illuminate\Contracts\Queue\ShouldQueue; 
use Illuminate\Foundation\Bus\Dispatchable; 

use Mail; 
use App\User; 
use Carbon\Carbon; 
use App\Mail\BlockedUser; 

class JblockedUser implements ShouldQueue 
{ 
    use Dispatchable, InteractsWithQueue, Queueable, SerializesModels; 

    protected $user; 
    /** 
    * Create a new job instance. 
    * 
    * @return void 
    */ 
    public function __construct(User $user) 
    { 
     $this->user = $user; 
    } 

    /** 
    * Execute the job. 
    * 
    * @return void 
    */ 
    public function handle() 
    { 
     $email = new BlockedUser($this->user); 
     Mail::to('[email protected]')->queue($email); 
    } 
} 

郵件文件

<?php 

namespace App\Mail; 

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

class BlockedUser 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->markdown('emails.newsletter'); 
    } 
} 

回答

1

您可以在您的可郵寄構建方法中設置fromsubject。默認情況下,如果沒有提供from地址,則laravel將使用配置文件中設置的全局源地址和名稱。默認主題將使用您的可郵寄課程名稱構建。在你的情況Blocked User將是主題。

public function build() 
{ 
    return $this->from('[email protected]') 
     ->subject('Newsletter!!!') 
     ->markdown('emails.newsletter'); 
} 

或者如果您需要指定電子郵件和名稱。

public function build() 
{ 
    $from = [ 
     'address' => '[email protected]', 
     'name' => 'Custom App Name' 
    ]; 

    return $this->from($from) 
     ->subject('Newsletter!!!') 
     ->markdown('emails.newsletter'); 
} 

您可能需要運行php artisan config:clear的情況下,你.ENV文件的更改不會反映。

+0

我接受的答案,但有一個問題更是認爲從.ENV文件採摘值造成。如果任何人使用smtp.gmail.com,那麼您提供的「從收件人」的任何內容都將回退到原始內容,除非它通過設置和配置例如添加到Google帳戶中:[email protected]現在它工作順利。 –