Outlook Auto Complete / Nickname Cache (.nk2) Overview

APPRIVER QUICKTIP (See the below steps for more details.)

1. To delete items from your yourprofilename.nk2 file, Click in the To... text box and enter an e-mail address. 
2. When it pops up, use the arrow keys on the keyboard (not the mouse) to highlight the name, and then press the Delete key on the keyboard to remove it.


Outlook 2016 Screenshot (You may use the mouse to click the x, which is next to the name, to remove it.)

3. Alternatively, you can download a third party application called NK2view from the Web and use it to manage the addresses in your nk2 file.



Outlook creates a cache file (a file ending in “.nk2”), which contains an e-mail address that you type into the To... text box. It is typically located in %APPDATA%\Roaming\Microsoft\Outlook. Besides remembering the actual e-mail address of the recipient, it also remembers the server information associated with that account in the background, which is known as the “X500” or “Distinguished Name (or DN for short)” address.  These are fancy terms for the path on the server for the mailbox. 

This process keeps you from entering an e-mail addresses every time you send an e-mail by “remembering” the e-mail address and popping it up in a list, which can be clicked with the mouse. The trouble with this process comes when your recipient changes the server that their e-mail is hosted on.  When an e-mail account gets recreated (on the same or different server), the account gets a new Security ID and DN.  Then, when you send an e-mail after such a change was made, the recipient’s server rejects the message and sends a bounceback saying that no user exists since, though the e-mail address itself is still the same, the “background info” you are sending for the recipient does not match what it expects.  So, the question becomes, what do we do about this when it happens?

There are actually two methods that Outlook can use to pull server information: Autocomplete and Autoresolve. Autoresolve uses your contacts list to determine e-mail addresses, while Autocomplete uses a file saved on your computer called:  yourprofilename.nk2.  (This applies to Outlook 2003 and 2007, which is no longer used in Outlook 2010. See the below information for more details.) You can enable or disable these processes in the Dialog found in Outlook.

1. In version 2010 / 2013 / 2016, click File, Options, Mail, and Send Messages.


3. Autoresolve is enabled by the Automatic name checking setting. This is based on your contacts list.
4. Autocomplete is enabled by the Use Auto-Complete List to suggest names when typing in the To, Cc, and Bcc lines setting. This relies on the data in the yourprofilename.nk2 file.
5. To solve issues that may arise with the .nk2 file, consider the following:

    •  Renew the e-mail address information; i.e., just enter the complete e-mail address without selecting the autofill option that populates up. (See the top of this article.)
    •  Clear the cache file and start over; i.e., rename the .nk2 file to yourprofilename.nk2old. Outlook will create a new one automatically upon restart. The user will need to retype all new email addresses, but they will be remembered after that.
    •  Stop using the cache file altogether; i.e., clear the Use Auto-Complete List… check box in the setting as shown in the image above.  Bear in mind; however, that users will have to enter the e-mail address manually every time they send to an address that is not listed in their contacts list.


Outlook 2010 and Autocomplete

Outlook 2010 no longer uses the yourprofilename.nk2 file.  It uses a contact list called Suggested Contacts that it creates automatically and is saved on the Exchange server. 

To import .nk2 files from an older versions of Outlook into the new profile, follow these steps:

1. Make sure that the .nk2 file is in the following folder: %appdata%\Microsoft\Outlook.
2. Note that the .nk2 file must have the same name as your current Outlook 2010 profile. By default, the profile name is Outlook.
3. To check the profile name, follow these steps: click Start and then Control Panel; double-click Mail; and click Show Profiles in the Mail Setup dialog box.  
4. Click Start and Run, respectively.
5. In the Open box, enter outlook.exe /importnk2 and click OK. This should import the .nk2 file into the Outlook 2010 profile.
Note: After you import the .nk2 file, the contents of the file are merged into the existing nickname cache that is currently stored in your mailbox.

Clear Autocomplete Cache in Outlook 2010
Open Outlook 2010 with the /cleanautocompletecache switch: Start>Run>outlook.exe /cleanautocompletecache

In order to copy over the Autocomplete Cache from one Outlook 2010 profile to another, follow these steps:

The autocomplete in 2010 is actually stored in a “stream” file. 

This file should be located in the C:\Users\%userprofile%\AppData\Local\Microsoft\Outlook\RoamCache folder.


To move this information over, you will want to make a copy of the most recent stream file (which should be the most recently dated file) and attach some notification where you can tell that it is the copy.


Now when you create a new profile, send a message, and then close outlook.  Once that has been done, you should have another stream file that is named completely different name. 


You will want to copy that name, and then put _old at the end to save it.  Now rename the original steam file with the most recently copied file name.