I was under the impression that setting the driver to "mailgun" means that the only two pieces of information Laravel needs to send an email would be the domain and the private key (just like the cURL example on Mailgun's site).
Regardless, I ran "php artisan config:clear" and added your block of code with my details and it did not work still.
Documentation says:
The API based drivers such as Mailgun and SparkPost are often simpler and faster than SMTP servers. If possible, you should use one of these drivers. All of the API drivers require the Guzzle HTTP library, which may be installed via the Composer package manager:
composer require guzzlehttp/guzzle
To use the Mailgun driver, first install Guzzle, then set the driver option in your config/mail.php configuration file to mailgun. Next, verify that your config/services.php configuration file contains the following options:
'mailgun' => [
'domain' => 'your-mailgun-domain',
'secret' => 'your-mailgun-key',
],
EDIT: I figured it out, it was just me not paying close enough attention. The config/services.php file came with "env()" wrapped around the domain and secret parts of the array. I blindly just copied my creds in. I removed the "env()" portion and it works beautifully.
To anyone in the future that is setting up the Mailgun API in Laravel (I'm in 5.5), all you need to do is change the driver in config/mail.php and add your domain and private key to config/services.php. It works like magic! Thanks Laravel and thank you ejdelmonico for taking the time to reply.