This might have just been a typo in your question but you mention configuring your virtual host to respond to "laravel.dev" but then accessing through "localhost.dev/dashboard". What happens if you try to access through "laravel.dev/dashboard"? I have a Laravel application sending through gmail using very similar settings to yours, so it must be something unrelated to those smtp settings that is causing you problems..
You could also try commenting out the Mail::send call and make sure that you are able to visit this route without any issues, and confirm it is the mail call that is your source of problem. Also, perhaps this was only a snippet of your dashboard function, but you are referencing a $data variable this isn't defined elsewhere. This shouldn't cause the error you're seeing though, it should be a different error.. the error you're seeing sounds more like some kind of routing loop or something..