Saturday, September 3, 2016

Sending Email Using SMTP-GMAIL in Laravel 5.3

I'm using xampp windows 7 for sending this email in laravel. Sooo... mmm... Let's get started... :D
1. Set-up your laravel environment, you can take a look at this post...
2. Create your own view, for me it's just as simple like this: :D :D
3. Change laravel config on .env file like this :

4. Next..... let's create our controller and route....


5. Turn off your antivirus{because I'm using port 587} in order to prevent SSL issue in windows 7 and then run your laravel server then hit the send button... :D aaaaan...d....
You will get the email....
Actually... If you got an error like username and password not accepted in gmail, then you can see my post here to solve it... ;)


Here is the demo...

Source code :
https://github.com/HyosokaPoipo/maillaravel53


Go to Part II...

Username and Password not accepted at Gmail SMTP Laravel 5.2

Whoops, looks like something went wrong.

1/1 Swift_TransportException in AbstractSmtpTransport.php line 383: Expected response code 250 but got code "535", with message "535-5.7.8 Username and Password not accepted. Learn more at
535 5.7.8 https://support.google.com/mail/answer/14257 yu7sm18711248pab.45 - gsmtp
"

  1. in AbstractSmtpTransport.php line 383
  2. at Swift_Transport_AbstractSmtpTransport->_assertResponseCode('535-5.7.8 Username and Password not accepted. Learn more at 535 5.7.8 https://support.google.com/mail/answer/14257 yu7sm18711248pab.45 - gsmtp ', array('250')) in AbstractSmtpTransport.php line 281
  3. at Swift_Transport_AbstractSmtpTransport->executeCommand('RSET ', array('250'), array()) in EsmtpTransport.php line 270
  4. at Swift_Transport_EsmtpTransport->executeCommand('RSET ', array('250')) in XOAuth2Authenticator.php line 55
  5. at Swift_Transport_Esmtp_Auth_XOAuth2Authenticator->authenticate(object(Swift_SmtpTransport), 'adiatstei07@gmail.com', 'hisoka@adi@187') in AuthHandler.php line 176
  6. at Swift_Transport_Esmtp_AuthHandler->afterEhlo(object(Swift_SmtpTransport)) in EsmtpTransport.php line 334
  7. at Swift_Transport_EsmtpTransport->_doHeloCommand() in AbstractSmtpTransport.php line 118
  8. at Swift_Transport_AbstractSmtpTransport->start() in Mailer.php line 79
  9. at Swift_Mailer->send(object(Swift_Message), array()) in Mailer.php line 385
  10. at Mailer->sendSwiftMessage(object(Swift_Message)) in Mailer.php line 171
  11. at Mailer->send(null, array('message' => object(Message)), object(Closure)) in Mailer.php line 125
  12. at Mailer->raw('email.welcome', object(Closure)) in Facade.php line 219
  13. at Facade::__callStatic('raw', array('email.welcome', object(Closure))) in HomeController.php line 44
  14. at HomeController->defaultSend()
  15. at call_user_func_array(array(object(HomeController), 'defaultSend'), array()) in Controller.php line 80
  16. at Controller->callAction('defaultSend', array()) in ControllerDispatcher.php line 146
  17. at ControllerDispatcher->call(object(HomeController), object(Route), 'defaultSend') in ControllerDispatcher.php line 94
  18. at ControllerDispatcher->Illuminate\Routing\{closure}(object(Request))
  19. at call_user_func(object(Closure), object(Request)) in Pipeline.php line 52
  20. at Pipeline->Illuminate\Routing\{closure}(object(Request))
  21. at call_user_func(object(Closure), object(Request)) in Pipeline.php line 102
  22. at Pipeline->then(object(Closure)) in ControllerDispatcher.php line 96
  23. at ControllerDispatcher->callWithinStack(object(HomeController), object(Route), object(Request), 'defaultSend') in ControllerDispatcher.php line 54
  24. at ControllerDispatcher->dispatch(object(Route), object(Request), 'App\Http\Controllers\HomeController', 'defaultSend') in Route.php line 174
  25. at Route->runController(object(Request)) in Route.php line 140
  26. at Route->run(object(Request)) in Router.php line 724
  27. at Router->Illuminate\Routing\{closure}(object(Request))
  28. at call_user_func(object(Closure), object(Request)) in Pipeline.php line 52
  29. at Pipeline->Illuminate\Routing\{closure}(object(Request)) in VerifyCsrfToken.php line 64
  30. at VerifyCsrfToken->handle(object(Request), object(Closure))
  31. at call_user_func_array(array(object(VerifyCsrfToken), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 136
  32. at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
  33. at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32
  34. at Pipeline->Illuminate\Routing\{closure}(object(Request)) in ShareErrorsFromSession.php line 49
  35. at ShareErrorsFromSession->handle(object(Request), object(Closure))
  36. at call_user_func_array(array(object(ShareErrorsFromSession), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 136
  37. at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
  38. at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32
  39. at Pipeline->Illuminate\Routing\{closure}(object(Request)) in StartSession.php line 64
  40. at StartSession->handle(object(Request), object(Closure))
  41. at call_user_func_array(array(object(StartSession), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 136
  42. at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
  43. at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32
  44. at Pipeline->Illuminate\Routing\{closure}(object(Request)) in AddQueuedCookiesToResponse.php line 37
  45. at AddQueuedCookiesToResponse->handle(object(Request), object(Closure))
  46. at call_user_func_array(array(object(AddQueuedCookiesToResponse), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 136
  47. at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
  48. at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32
  49. at Pipeline->Illuminate\Routing\{closure}(object(Request)) in EncryptCookies.php line 59
  50. at EncryptCookies->handle(object(Request), object(Closure))
  51. at call_user_func_array(array(object(EncryptCookies), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 136
  52. at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
  53. at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32
  54. at Pipeline->Illuminate\Routing\{closure}(object(Request))
  55. at call_user_func(object(Closure), object(Request)) in Pipeline.php line 102
  56. at Pipeline->then(object(Closure)) in Router.php line 726
  57. at Router->runRouteWithinStack(object(Route), object(Request)) in Router.php line 699
  58. at Router->dispatchToRoute(object(Request)) in Router.php line 675
  59. at Router->dispatch(object(Request)) in Kernel.php line 246
  60. at Kernel->Illuminate\Foundation\Http\{closure}(object(Request))
  61. at call_user_func(object(Closure), object(Request)) in Pipeline.php line 52
  62. at Pipeline->Illuminate\Routing\{closure}(object(Request)) in CheckForMaintenanceMode.php line 44
  63. at CheckForMaintenanceMode->handle(object(Request), object(Closure))
  64. at call_user_func_array(array(object(CheckForMaintenanceMode), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 136
  65. at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
  66. at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32
  67. at Pipeline->Illuminate\Routing\{closure}(object(Request))
  68. at call_user_func(object(Closure), object(Request)) in Pipeline.php line 102
  69. at Pipeline->then(object(Closure)) in Kernel.php line 132
  70. at Kernel->sendRequestThroughRouter(object(Request)) in Kernel.php line 99
  71. at Kernel->handle(object(Request)) in index.php line 53
  72. at require_once('C:\xampp\htdocs\TestQueue2\queuelagi\public\index.php') in server.php line 21


Open these links and turn it on/activate the service :
1. https://www.google.com/settings/security/lesssecureapps 
2. https://accounts.google.com/b/0/DisplayUnlockCaptcha {This is an optional step}





After setting above config, restart your laravel server... Turn off your antivirus... aaaand... you are good to rock... :)