How to Set Gmail as Your Browser's Default Email Client?

Please see this excellent article for the detailed steps.

I would like to add several things from my experiments.

1. In order to be able to see the Protocol Handler icon overlapping-diamonds , you have to log into your gmail account. 
2. When you are in step 2, if you accidentally click Ignore and then Done, the  Protocol Handler icon overlapping-diamondsis more likely gone from GMail. The only way I could make it back is to uninstall and re-install Google Chrome.
3. However, even after the Protocol Handler icon is gone, you may be still able to proceed by enter "Chrome://Settings/Handlers" (without the double quotes) in the address bar. Of course, if you did not choose 'Use Gmail' in the first step, you won't see anything here. You have to choose 'Use GMail' and click Done in order to be able to see as the site for mailto. 
4. It appears that Gmail is the only option here, at least in the version I am using (39.0.2171.99 ). You either have (None) or You cannot have something else such as Yahoo Mail, Hotmail, or Outlook.
5. If you set the MailTo extension to Outlook, Live Mail, or Google Chrome via the Default Program option as described in an earlier post (see the snapshot below), you will get the same mail client form both IE and Chrome, If you do not use the Managing Protocol Handlers option.  

However, if you really want to use the Managing Protocol Handlers option to set up Gmail as the browser's default mail client, the setup in Chrome will override the choice setup by the Default Program method. So you could have Outlook or Hotmail for IE, but Gmail for Chrome. Of course,  you can also have outlook (the underlying server could be Yahoo Mail depending your Outlooks setup), Hotmail, or Gmail for both IE and Chrome, if you just use the Default Program option.

How to Set up Outlook 2013 and Use it as the MailTo mail client in Windows 8 / 8.1?

If you have Outlook 2013 on your Window 8 or 8.1 machine, you can use it as a mail client. You do not have to have Exchange Server to use it. The Mail Server could be Yahoo Mail, Gmail Server, or other mail servers supporting POP3.

You can enter Outlook 2013 in the search box on your machine to see if you have Outlook 2013 installed on your PC.

The next step is to set up the Outlook account. You can use your existing email account with the corresponding mail server provider such as Yahoo Mail or GMail. The key part is to set the parameter values correctly. You may need to click Advanced Settings and several tabs to find these options. I used the Yahoo Mail server info and my Yahoo email account:

Incoming Mail (POP) Server

Requires SSL (Secure Socket Layer)
  • Server
  • Port 995
  • Requires SSL - Yes

Outgoing Mail (SMTP) Server

Requires TLS (Transport Layer Security)
  • Server -
  • Port 587
  • Requires SSL - Yes
  • Requires authentication - Yes
As long as it works, you can use Outlook 2013 via the Yahoo Mail server. You should see all of your yahoo mails in Outlook 2013 promptly.

Further more, you can use Outlook 2013as your default mailto option in IE or Chrome. 

Step 1: Search on Default Program in the Search box in Win 8/8.1, or find it in control panel under Programs
Step 2: Click "Associate a file type or protocol with a program"
Step 3: On the list of the first column (i.e., Extensions), find "MAILTO" near the bottom, then click Choose Program.
Step 4: Select a desirable email program such as Outlook, Live Mail, or Google Chrome at your discretion.

P. S. The setup in Windows 10 is similar.

Yahoo Mail Screens Overlapping


In IE 11, when I opened the Settings option inside Yahoo Mail, I observed the screens messed up as below. The symptom does not occur to Chrome.


When I change the Zoom to 150% from 100%, the problem disappeared.

Where is the Break key on my computer keyboard?


In PowerShell ISE, if you need to break the execution of the cmdlet, you need to use the awkward key combination of CTRL + Break. Unfortunately, on my computer (Dell XPS 18), I do not have the Break key. But I find an alternative solution (Ctrl+Fn+Pause) suggested by others, although it is inconvenient. To me, a better way, obviously, is just to click the red square icon on the tool set under the menus in PowerShell ISE, which is equivalent to the keystroke of Ctrl+Break.


But wait, I do not have the Pause key on my keyboard either. Well, if that's also your case, you need the On-Screen Keyboard. By default, it is off, not showing in the taskbar. You can search on "On-Screen Board" in the Search box on Windows 8/8.1/10. After you find it, you can make it show up temporarily or permanently. There should be a Pause key on it.

P. S.: If you really want to know all of the built-in shortcuts in PowerShell, you can get them by running the following cmdlets (credited to Shay Levy):

$gps = $psISE.GetType().Assembly
$rm = New-Object System.Resources.ResourceManager GuiStrings,$gps
$rs = $rm.GetResourceSet((Get-Culture),$true,$true)
$rs | where Name -match 'Shortcut\d?$|^F\d+Keyboard' | Sort-Object Value | Format-Table -AutoSize

Get-WmiObject : The RPC server is unavailable. (Exception from HRESULT: 0x800706BA)

I have a Windows 8.1 standalone machine (XU_XPS) and a windows 8.1 virtual machine (XU_VM) on it. I have been successfully able to access to the virtual machine from the local machine with the following cmdlets:

On the virtual machine, open PowerShell as an admin and execute the following:
PS C:\> set-item WSMan:\localhost\Client\TrustedHosts -value XU_XPS

On the local machine, also open PowerShell as an admin and execute the following:
Enter-PSSession -computerName XU_VM

Now when I tried to execute the following cmdlet on my local computer, I got an error:

Get-WmiObject -Class win32_process -ComputerName xu_vm
Where xu_vm is the name for the virtual machine acting as a remote machine.

Get-WmiObject : The RPC server is unavailable. (Exception from HRESULT: 0x800706BA)
At line:1 char:1
+ Get-WmiObject -Class win32_process -ComputerName xu_vm
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [Get-WmiObject], COMException
    + FullyQualifiedErrorId : GetWMICOMException,Microsoft.PowerShell.Commands.GetWmiObjectCommand

This post suggests to make sure that the "Windows Management Instrumentation (WMI-In)" rule is enabled in the firewall for the remote machine, or in an Administrative Command/Powershell prompt run:
netsh advfirewall firewall set rule group="Windows Management Instrumentation (WMI)" new enable=yes

After executing the command, when I run the get-wmiObject cmdlet again on the local machine, I observe inconsistent behaviors. Sometimes, I get the result from cmdlet, other times, I get the same “The RPC server is unavailable” error message.

Download and install the Remote Server Administration Toolsfor Windows 8.1 on the remote machine. After that, it works as expected.