ROPC (Resource Owner Password Credentials Grant) Flow

Overview This blog post is intended for the Exchange Administrators that are using Powershell scripts to consume the Outlook REST API v1.0 endpoint https://outlook.office365.com/api/v1.0 authenticating with user credentials. With the REST API v1.0 with support to Basic Authentication deprecation, a transition is required to the Microsoft Graph API or to the REST API v2.0 EndPoint….


How to decrypt and un-sign a message programmatically using the OOM

Overview This blog post demonstrates how to decrypt and un-sign a message programmatically using the Outlook Object Model.   Encrypt email messages When you need to protect the privacy of an email message, encrypt it. Encrypting an email message in Outlook means it’s converted from readable in plain text into scrambled cipher text. Only the…


Outlook behaviour when accessing data in a corrupt data file (.pst or .ost)

In Outlook 2010 and previous versions, when making a call to access data in an Outlook store, programmatic calls to access data would result in errors if the data file (.pst or .ost) was corrupt. Developers were thus able to handle the exceptions and continue the execution,   In Outlook 2013, this behaviour changed and…

0

Authenticating against Exchange Web Services using certificate based OAuth2 tokens

Overview This post contains step by step information on configuring your environment and authenticating against Exchange Web Services using certificate based OAuth2 tokens. The information in this blog post is only valid for connecting to Exchange Online mailboxes. Requirements In order to set up certificate based OAuth2 authentication you will require access to the Azure…

0

Outlook’s slow add-ins resiliency logic and how to always enable slow add-ins

Overview This post explains how to deploy registry settings that would force Outlook to always load a specific add-in. The information in this post only applies to slow (VSTO) add-ins in Outlook 2013 or higher.  If Outlook disables your add-in to prevent a crash, this blog post isn’t for you. EDIT: This logic now applies…

7

Configuring and managing Outlook’s Autocomplete Cache

Overview Outlook cannot be configured for selective (criteria based) caching of entries in the autocomplete stream. In addition, individual entries cannot be removed by standard programmatic means. Individual entries can be removed manually using the Outlook client. More information The autocomplete stream is a set of recipient property rows that are saved as a binary…

0

PowerShell: Deploying Outlook ribbon customisations

The Outlook ribbon can be customised by users, and any such changes are stored in an Xml file in the user’s AppData folder (by default, this will be %LocalAppData%\Microsoft\Office – though this can be changed to roaming AppData using a registry key).  Sometimes a company may want to have specific functionality (or custom functionality) available…


Certain Unicode characters are replaced with question marks for text properties set using UserProperties.Add

SYMPTOMS When trying to retrieve text UserProperty values via the Outlook Object Model from signed or encrypted messages, if the values contain extended Unicode characters, you will notice that certain characters are replaced by the question mark “?” symbol. For example, you use the following code to create a UserProperty object named myUserProperty. You then…

0

Outlook add-in sample – implementing additional controls for capturing meeting notes

I’ve written a VSTO add-in sample that implements a form region with a rich text control that allows capturing rich text notes and additional information for appointments and meetings. How it works The add-in implements the form region displayed in the screenshot below for compose-mode meetings. Upon saving the appointment or meeting invite the content…

2