title: Store email body in table using Laravel 5.3 Mailable
body: <p>I want to store the email body in my communications table. My controller: </p>
  
  <pre><code>Mail::to($user-&gt;email)-&gt;send(new WelcomeEmail($subscription));
  
  Communication::create([
      'to'       =&gt;  $user-&gt;email,
      'subject'       =&gt; 'Welcome Email',
      'body'       =&gt; '???'
  ]);
  </code></pre>
  
  <p>My email goes out (successfully) and I am able to create a Communication record, but have no idea how to retrieve the email body.</p>
  
  <p>After reading the <a href="https://laravel.com/docs/5.3/mail" rel="nofollow noreferrer">Mail manual</a>, I thought I could work with an event:</p>
  
  <pre><code>protected $listen = [
      'Illuminate\Mail\Events\MessageSending' =&gt; [
          'App\Listeners\LogSentMessage',
      ],
  ];
  </code></pre>
  
  <p>But here I get only the full plain text email. If I create an instance of the mail, with:</p>
  
  <pre><code>$email = Mail::to($user-&gt;email)-&gt;send(new WelcomeEmail($subscription));
  </code></pre>
  
  <p>the outcome of <code>dd($email);</code> is <code>null</code>.</p>
  
  <p>Some extra info, in my WelcomeEmail.php, I am using a view:</p>
  
  <pre><code>public function build()
  {   
      return $this-&gt;view('emails.welcome_email');
  }
  </code></pre>