Skip to content

Instantly share code, notes, and snippets.

@james2doyle
Created February 6, 2017 21:02
Show Gist options
  • Select an option

  • Save james2doyle/e92e6f2a9961f1228018f9447e221a6f to your computer and use it in GitHub Desktop.

Select an option

Save james2doyle/e92e6f2a9961f1228018f9447e221a6f to your computer and use it in GitHub Desktop.
A command to test that email has been setup correctly in Laravel
<?php
namespace App\Console\Commands;
use Illuminate\Console\Command;
use Mail;
class EmailCommand extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'emailtest';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Test the Amazon SES email client';
/**
* Create a new command instance.
*
* @return void
*/
public function __construct()
{
parent::__construct();
}
/**
* Execute the console command.
*
* @return mixed
*/
public function handle()
{
Mail::raw('This is the body', function ($message) {
$message->from(env('MAIL_FROM_ADDRESS'), env('MAIL_FROM_NAME'));
$message->to('targetemail@example.com', 'User\'s Name');
$message->subject('Hello From ' . env('MAIL_FROM_NAME'));
});
if (count(Mail::failures()) > 0) {
$errors = 'Failed to send email, please try again.';
$this->comment(PHP_EOL . $errors . PHP_EOL);
}
$this->comment(PHP_EOL . "Check your email!");
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment