Turn off Outlook new email notifications for specific duration - vba

Is there a way with VBA in Outlook 2013 to turn off new email notifications for a specified duration of time? I work a lot out of email, and am currently attempting to use the Pomodoro technique for maintaining focus. To stop myself from switching attention to newly arrived emails while doing a Pomodoro, I'd like to be able to turn notifications off for a period of 30 minutes.

The UI notification options for newly delivered emails can be changed by setting a registry key, but the changes won't take effect until Outlook is restarted. Otherwise there is no option in the Outlook Object Model to reliably turn off receiving for all accounts as disabling send/receive will not affect Exchange or Office 365 accounts. Your best option is to automate clicking the Work Offline ribbon button on the Send/Receive tab.

Related

Outlook 2021, how to write a trigger that change "From" field for speciffic account on every "Create Mail", "Reply", "Forward" event

In Outlook 20xx there is no way to change From field automatically. There are ways to have multiple accounts and use a default one all the time, but not when you reply. This is anti-feature by design and I'm forced to use Outlook with Exchage server using user emails (so every user has his own storage) but sending as office accounts (and when recieving email a copy is forwarded to users which are in office group) [eg. robert#company.com is real account, but when sending/reply/forward it should be sales#company.com]. There are many examples on using macros for all sort of things but not this one.
I need 3 triggers that change From field without clicking some special custom button
when I click New Email
when I click Reply on some selected email
when I click Forward on some selected email
thnx.
added exchange user account, then added exchange office account, set office account as default, options -> mail -> send messages -> always use default account when composing new messages
This was the nearest goal but worked only for new messages, on reply it allways default to user account.
The email profiles are Exchange profiles/accounts and have the required permissions to send on behalf of another person (eg. office#company.com)

How to send a request to my add in when a user changes the date of a meeting inside outlook (without opening the add-in)?

I'm building an Outlook Add-in where the user can book a meeting directly from outlook. The add in is basically a shortcut to the website we usually use, but instead we take the data from the outlook meeting (Date, title, etc..). The problem is that once the user has created a meeting and it has been saved in our database (and they close the add-in), the add-in can't detect if they change the meeting date, and therefore it doesn't get updated in the database.
Shortly put: Is there any way that my add-in can communicate with outlook and fire a function without being opened?

Outlook add-in: take action on calendar event date and time changes

We have an Outlook office.js add-in which uses add-in commands to help our users create a custom calendar event. We would like to perform some actions when that event's date or time is changed by the user.
With the older COM-based Outlook add-ins this was possible since you could have your add-in start-up automatically when a particular calendar event was opened add you could hook into the send event.
With the new add-in commands model there are problems. Here is what I understand so far:
When the user edits their event date or time while the add-in task pane is open, there is no way to be informed that they made changes. Worst yet, the user can open the event up later from their calendar and unless they triggered your add-in task pane, your add-in will not even be running. The user has to manually trigger an Outlook add-in command to open your task pane since the task pane cannot auto-trigger based on some detectable data attached to the calendar item.
If you hook into the send event you might be able to call the Outlook REST API to get the date and time and perform actions. Unfortunately, to hook into the on send event you need an Administrator to turn on that feature and your add-in will be rejected for Office Store Validation. Besides, I am not sure if the on send event works for calendar items. It seems like it is limited to emails.
If you want to use the Outlook Notification REST API to be notified about calendar event creation/modification/deletion, that notification subscription is time limited, does not have a way to auto-renew the notification subscription, and there does not seem to be built-in way to pass back custom parameters to the notification listener.
I hope I was clear enough and that the details I list above are accurate.
Does anyone have any suggestions on how we can automatically perform actions when the user edits the date or time of one of the calendar events created by our add-in?
This is done by leveraging Webhook Subscriptions and Event Deltas via Microsoft Graph.
The webhook will get fired off whenever it detects a change to the calendar. When you receive the event, you request the calendar delta from Microsoft Graph. This will give you all of the events that were changed since the last time you polled. From here you can request a specific event, including any extended data you previously stored with that event.
As for renewals, when you create the subscription it returns the expirationDateTime for that subscription. When your subscription expires, you can renew it and receive a new expiration date:
PATCH https://graph.microsoft.com/v1.0/subscriptions/{id}
Content-Type: application/json
{
"expirationDateTime": "2016-03-22T11:00:00.0000000Z"
}

Outlook Add-in for Office 365 is not being activated by default

We have created an Outlook add-in and installed it on Office365 account but every time when I login and after I perform any action I have to manually click on add-in to activate. I do not want this. I want to run the add-in in background so it will active once I login to my office365 outlook account and it should remain active by default is there any way to achieve this.
Thank you.
This compose scenario for the mail add-in need the users to active the add-in. However the latest feature named add-in command enable the add-in has placed new buttons on the command ribbon. So users are not required to active the add-in first to make it work, then can just click the command on the ribbon. Here is an figure for your reference:
However, current it only work for the Outlook 2016.
If you were find a solution for all the client, you may consider using transport rules or journaling instead of the mail add-in. You can refer to the link below for more detail:
http://blogs.technet.com/b/exchange/archive/2010/01/28/3409250.aspx
Currently, the add-in model is designed such that users have to manually run the add-ins. Running automatically is a new feature request, which other developers have asked for as well in our User Voice page, please feel free to upvote it here: https://officespdev.uservoice.com/forums/224641-general/suggestions/10770030-autorun-outlook-add-ins.

Can Outlook Interop API not recognise a DeliveryNotification

Story goes: My user sends an email to their client. My user ticks of "delivery notification" / "read notification". The client responds on the notification. Now my user has a "notification" sitting in their inbox. My application may attach that "email" to a project database, happens with any other regular email.
Now a bug report ticks in (feature request) on my table. My user like to attach those "notifications" to the project in question, but my application does not recognise the notification as an email.
Having recieved this feature/bug request, I start investigating. When I right click the mail in question I'd expect to have the option of attaching the mail to a project. I do with regular emails, but not with the notification email.
First off: Isn't a delivery/ read notification just like any other email. Apparently not as it is not being recognised in the first run.
Second: If it isn't an email, what is it then. Apparently it does not exist. WT'bip'...
I found an enum DeliveryNotificationOptions under System.Net.Mail, but I'm using the Microsoft.Office.Interop.Outlook and the MailItem in there. I found the MailItem.OriginatorDeliveryReportRequested which is what the client's mail application has replied to and sent my user the notification.
I have the Outlook addin both as an Office2007(.Net3.5) and Office2010(.Net4) version, the 2003 has been retired. The way I see this it goes beyond office and .net version concerns.
Any light or pointers people like to share on this matter would be appreciated.
It's called a ReportItem (DeliveryNotification).