2017-05-21 6 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

あなたのmailableビルド方法でfromsubjectを設定することができます。デフォルトでは、fromアドレスが指定されていない場合、laravelはconfigファイルに設定されたグローバルのアドレスと名前を使用します。デフォルトのサブジェクトは、あなたのmailableクラス名を使ってビルドされます。あなたの場合は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'); 
} 

あなたは.envファイルの変更が反映されていない場合にはphp artisan config:clearを実行したい場合があります。

+0

私は答えを受け入れていますが、.envファイルから値を取り出すことによって引き起こされたもう1つの問題がありました。 smtp.gmail.comを使用しているユーザーが「受信者から」受信すると、元の設定に戻って、設定に行き、[email protected]などの設定を行ってGoogleアカウントに追加しない限り今はスムーズに動作します。 –

関連する問題