Send email using Gmail SMTP in Laravel 5.*

Hi there, hope you are not in trouble with your application email sending feature. I am using mailtrap.io for email testing on the development server. It is good, but one problem is all email are going mailtrap’s Demo inbox, not to users individual email. And my client wants to check all email templates and functionality on the development server, with various emails and here I need to look for an alternative solution. By the way, I am using Laravel’s default email function.

So, here is the process that I follow and hope it will help you too. Don’t worry it’s simple.

Step – 1: Update the google account permission for allowing access less secure (third party) apps.

  • Go to your Google account dashboard by clicking on this link https://myaccount.google.com/security#connectedapps  or My Account button on Gmail
  • And take a look at the Sign-in & security -> Connected apps & sites -> Allow less secure apps settings.
  • You must turn the option “Allow less secure apps” ON.

Step – 2: First open .env file and update email setting parameters

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=your-email@gmail.com
MAIL_PASSWORD=password
MAIL_ENCRYPTION=tls

Look at the PORT and ENCRYPTION, I use 587 and tls (Transport Layer Security) respectively. Try to maintain this configuration, otherwise you will get the error. Though both are used as default in configuration (config/mail.php) file.

Step – 3:  If you get any exception error regarding OpenSSL certificate. Then you need to add following code to mail configuration file. Open mail.php file located in config/mail.php and add following code. In my case, I added at the bottom.

// send email locally – only for development server, do not use it on production server

‘stream’ => [
‘ssl’ => [
‘allow_self_signed’ => true,
‘verify_peer’ => false,
‘verify_peer_name’ => false,
],
],

Note: It is suggested, not to use this configuration on your production server, because of security purpose.

 

I am really glad if this information is helping anyone. So, let me know your feedback or any alternative way/solution you know for this issue.

I would glad to help you, please ping me at me[at]skpaul[dot]me if you need any support.

Advertisements

Integrate, install, test and debug SSL Certificate

I am working on a project and PM request me to create a CSR (Certificate Signing Request) for purchasing a SSL certificate. I do some research and of-course Google, suddenly get this informative hands-on video tutorial with commands in text format. So,just watch the video with full concentration and use the commands when you need it.

BTW, there is also a video on How do you get and integrate a free SSL with your domain/site.

So, Njoy and visit the link.

 

How to Integrate, install, test, debug #SSL Certificate. 5 videos cover many things. Also with free SSL Certificate from #Letsencrypt

  1.  Create CSR and Purchase and Install an SSL Certificate — https://serversforhackers.com/c/purchase-and-install-an-ssl-certificate
  2. Testing and Debugging SSL Certificates — https://serversforhackers.com/c/testing-and-debugging-ssl-certificates
  3. Self Signed SSL Certificates for Development — https://serversforhackers.com/c/self-signed-ssl-certificates-for-development
  4. Purchase & Install a Wildcard SSL Certificate — https://serversforhackers.com/c/purchase-install-a-wildcard-ssl-certificate
  5. Letsencrypt for Free & Easy SSL Certificates — https://serversforhackers.com/c/letsencrypt-for-free-easy-ssl-certificates (**FREE SSL)

And here is all together — https://serversforhackers.com/s/integrating-ssl-certificates

Here is the man (Chris Fidao) who secure my and your life too as well as time.

THANKS Chris Fidao.

How to find a column or filed name of a table from an entire database?

If you are working on a BIG project with lots of tables in the database, then it will be a good trick query for you to find out a column name of any table from that database.

 

My scenario was a bit different, I had to start work in the middle of a project and there was no one to guide/help me regarding  anything. And you know, about the deadline… really messed up. So, I didn’t hopeless and as usual did some google and prepare this query.

 

“SELECT TABLE_NAME, COLUMN_NAME

FROM INFORMATION_SCHEMA.COLUMNS

WHERE column_name LIKE ‘your_column_name’ “

 

As you can see it search information schema for the column name you are finding after the LIKE clause. And this query saved me and my ass 😉

 

I am writing this article for my future reference. Hope it will also help you and save your ass too 😉 as like mine. If this article save your time then you can comment and share this article to save others too. [sharing is caring]

 

 

[Note: May be you can find this query on other sites. As I said I did some google and make for me. Sorry forgot those site otherwise I put those on ref. section like my other post.]

How to print query or debug queries in Laravel

We often need to debug large queries in Laravel. And laravel have built-in functions almost for everything. Here is a simple query in laravel for example.

$data = User::where(‘status’, 1)

->select(‘name’, ‘username’, ‘email’, ‘password’)

->get();

 

but we want to see the sql query. So we have to use toSql() in the place of get() and to print the query we use dd() – die and dump function of laravel, so here is out update query

$data = User::where(‘status’, 1)

->select(‘name’, ‘username’, ‘email’, ‘password’)

// ->get()

->toSql();

And dump it

dd($data);

and the output is

“SELECT ‘name’, ‘username’, ‘email’, ‘password’ FROM user WEHRE status = 1”

 

n.b.: it also can be done by DB listen

DB::listen(function($sql) {

var_dump($sql);

});

 

Here is another option with Laravel DebugBar. It’s a full featured package and gives lots on insight of the application.

 

 

——————————————————————

Reff: https://scotch.io/tutorials/debugging-queries-in-laravel