How to test sending Laravel email from command prompt

If you want to test if you can send email from Laravel using only command prompt, here is how ..

  • First open your favorite command prompt
  • Go to your root folder of your website (i.e cd c:\xampp\htdocs\mySite )
  • Run this command: php artisan tinker
  • Mail::send(‘myView‘, [], function ($message) { $message->to(‘yourEmail@test.com’)->subject(‘Sending mail is OK’); });

How to redirect everything to HTTPS

Redirect all non-HTTPS traffic to HTTPS using htaccess

<IfModule mod_rewrite.c>
 RewriteEngine On
 RewriteCond %{HTTPS} !on [NC]
 RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
</IfModule>

for more htaccess tips, go to this url:

https://www.leaseweb.com/labs/tag/htaccess/

How to configure virtual hosts on Apache on Windows

If you are using Apache on your Windows machine and want to set up virtual hosts so you can type something like this “www.myDomain.tst” in your browser and it’ll direct you to your local hosted site … you have to edit this file:

C:\WINDOWS\system32\drivers\etc\hosts

Add a new line with this text
127.0.0.1  myDomain

Open apache\conf\extra\httpd-vhosts.conf file and add these lines:

<VirtualHost *:80>
DocumentRoot path_to_your_document_root
ServerName myDomain
</VirtualHost>

Free DNS

There are a number of free DNS that you can use:

  • Google’s 8.8.8.8
  • Quad9’s 9.9.9.9
  • CloudFlare’s 1.1.1.1
  • OpenDNS  208.67.222.222
  • Norton 199.85.126.20
  • CleanBrowsing 185.228.168.168
  • Comodo DNS 8.26.56.26

Here is a good article comparing DNS for speed and features

For the speed results, The Top 5 DNS are:

Global Average Speed:

  1. CloudFlare: 4.98 ms
  2.  Google: 16.44 ms
  3.  Quad9: 18.25 ms
  4.  CleanBrowsing: 19.14 ms
  5.  Norton: 34.75 ms

 

How to send variable to wherehas function in Laravel

If you need to send variable to wherehas function , all you have to do it to use “use” .. here is an example…

To list the Users whom their posts are in certain langue .

$language = 3;
$users = Users::whereHas('posts', function ($query) use($language){
                    $query->where('language_id', $language);
                })->get();

Download a file using command line in Windows

If you want to download a file using only command line, you can create a batch file (.bat) with the following :

download.bat

@Echo OFF
SetLocal EnableDelayedExpansion
powershell.exe -Command (new-object System.Net.WebClient).DownloadFile('http://www.source.com/test.txt', 'C:\destination\test.txt')

Of course you have to change the source and destination according to your needs.

The only problem is that running this file will open the command prompt for few seconds .. to avoid that you can create a VBscript file (.vbs) that will run the batch file in the background without the appearance of the command prompt.

runme.vbs

Set oShell = CreateObject ("Wscript.Shell") 
Dim strArgs
strArgs = "cmd /c download.bat"
oShell.Run strArgs, 0, false