Using VBScript to read inbox from Outlook Web Access - vbscript

I have an email account, which is accessed via OWA.
I would like to set-up a small VBScript app to periodically check the inbox for new unread messages.
I can already access the OWA account manually but would like to automate this.

You can always use the MAPI function and call (outlook.application) to check the inbox. and read all the inbox messages or even download attachments, mark mail items unread. Create an exe. and call it at startup or schedule a server job.

Related

Read new emails with office-js or similar to Google Apps Script's Trigger feature in office-js

I want to run a script when I receive a new email in Outlook for Office365. Is there any solution in [office-js]?
Instead of checking to receive new emails, I can read new emails every minute and run the script. In Google Apps Script (GAS), there is the Trigger that you can run a script every minute. Is there a similar feature in [office-js]?
Outlook web add-ins currently work only in the context of an item. So, OfficeJS doesn't provide built-in mechanisms for handling incoming items like VSTO does using the NewMailEx event. You may consider using Graph API, see Use the Microsoft Graph API to get change notifications for more information.

Can messages on an Exchange Server be tampered with by a client user?

Is ist possible for a user connected to Exchange Server via a client (Outlook Web App) to tamper with the e-mails in his mailbox (inbox, drafts, sent items ect.)?
Like modifying e-mail content (text, subject...) or properties (date, time, recipient...).
The core of the question is: If there is an e-mail in the user's sent items folder and this user did not have access to the Exchange Server (neither physically nor remotely, except for his standard user access), how sure (or probable) ist it, that this e-mail has really been sent on that date and time with exactly that text to exactly those recipients and that it had not been planted there at a later date?
Does it make a difference if that user only has access to his account via Outlook Web App or if he also has access via MS Outlook?
Outlook Web App is just a client so it won't allow you to modify a sent email or fake/import one as that is not a valid task for that client. You could do this at the API level using something like EWS or MAPI but that would require knowledge that most users won't have (but most likly they would have access to do it though). The Mitigation to this is if you have Litigation hold enabled https://technet.microsoft.com/en-us/library/ee861123%28v=exchg.141%29.aspx on the mailbox then any changes they did make to a message would be tracked and you would always be able to see the original version. Also if you looked at the message with a MAPI editor like MFCMapi or OutlookSpy there would be tell tails of somebody trying to fake a message like the Creation time not matching the sent time etc and other properties would most likly give it away.
One thing i would suggest is look at your Message Tracking log as they will tell you exactly what was sent and who is was sent to and the time https://technet.microsoft.com/en-us/library/bb124375%28v=exchg.160%29.aspx while these also aren't immutable it would take an administrative access to the server to modify.

Outlook plug-in

I'm looking build an outlook addin that can do the following. Would like to hear tips from anyone who might have done this before.
Upon install, read the person's profile in outlook and call a service which will create an account for that person in my app
When person sends an email from outlook with a .pptx/.ppt file(s) attached, it calls a service to automatically upload that file(s) into my app.
Upon install, read the person's profile in outlook and call a service which will create an account for that person in my app
You can use Namespace.CurrentProfileName property introduced with Outlook 2007.
When person sends an email from outlook with a .pptx/.ppt file(s) attached, it calls a service to automatically upload that file(s) into my app.
The Application.ItemSend event is fired whenever an Microsoft Outlook item is sent, either by the user through an Inspector (before the inspector is closed, but after the user clicks the Send button) or when the Send method for an Outlook item, such as MailItem , is used. So, in the event handler you can check the Attachments collection for the files specified and do your web calls.
See Walkthrough: Creating Your First VSTO Add-In for Outlook to get started quickly.

Delay emails sent and received through IMAP

I want to put emails the user receives in a sort of "review status" in my app and let users choose manually if they want them to be let through.
For this I need to filter network traffic to withhold emails receivef with the IMAP protocol from Outlook and send them some time afterward. And to the same for emails being sent.
Would this be possible to do on Outlook on Windows 7/8? Or would I be unable to make Outlook receive the mailing after I filter it out?
The Outlook object model doesn't provide anything for foltering emails.
Instead, you may consider handling the new email programmatically in the code handling the NewMailEx event which is fired when a new item is received in the Inbox. For example, you may develop a VBA macro for doing any customizations in Outlook programmatically. See Getting Started with VBA in Outlook 2010 for more information.

Outlook Redemption multiple accounts

I have multiple email accounts in my outlook that I can read and send emails from. I can view these accounts from Redemption fine (and all their content), but what I also want is to be able to send emails from those accounts, not just the default. By default, Redemption sends emails from the default account. Can you please give me an example of how to send emails from different accounts that are loaded in Outlook (preferably in C#)?
What are the secondary accounts? In case of Exchange delegate accounts, set the RDOMail.SentOnBehalfOfName property, other (POP3/SMTP), set the RDOMail.Account property.

Resources