Automated export of outlook shared folder to iCal file - powershell

I'm trying to sync calendar appointments between two different calendar systems (Outlook 2007 and Lotus Notes) for a shared office with shared meeting rooms, and my current idea is to have something scheduled that exports the calendar from a shared folder in outlook to an iCalendar file (.ics) which is then mailed to the notes server and imported.
I'm having trouble finding an answer to the first half of the equation though - how to schedule a powershell script or similar that will export the shared folder's calendar and send by email.
Has anybody done this, or would anybody suggest an alternative? It needs to be automated, so that the calendars can sync regularly throughout the day.
-Brendan

You can use the CalendarSharing object to export a specified calendar to an .ics file: https://msdn.microsoft.com/EN-US/library/ff863593.aspx
However, automating this can be tricky. You cannot use the Outlook Object Model in the Task Scheduler or in a Windows Service: https://support.microsoft.com/en-us/kb/237913
So you'd have to use Extended MAPI with C++, or use a third-party library like Redemption - both of which can be run in a service.

Related

How to update the calendar appointment while opening outlook

Currently I have created HOL file which contains colleague's birthday dates so that I will get a reminder to prepare a birthday email and send it to the group.
The team is keep growing so I have to add update the HOL file again and again and delete the appointments and run the HOL file. And also I am sharing this HOL file with two more members also. so it is taking time for everyone. So I would like to know any other approach where I can keep the HOL file in a shared drive and refer that file in outlook and outlook will get automatically with HOL.
Your help is really appreciable.
Thanks.

Sharepoint online - how to enable preview of Outlook emails?

The issue: we have a Document Library which is used for storing emails.
They are frequently viewed and constant download/open with Outlook takes a lot of extra time. We want to make them openable in browser or at least to be available for preview (like Word, Excel, PDF).
In SharePoint Server/Foundation this can achieved by altering Web Application Setting (Browser File Handling) but SharePoint Online lacks such configuration.
Do you know about any OOTB solution or JavaScript library that can help with that?
As far as I know there are no OOTB solutions or JavaScript libraries to help out.
There is a 3rd party tool that offers this capability. SLIM Companion is a browser-based tool that mimics SharePoint as Windows Explorer. It uses the standard functionality from Outlook to create msg files; when users upload msg files it automatically extracts email metadata and populates the corresponding SharePoint columns. Users can drag emails from Outlook to the desktop and then to SharePoint and the metadata is extracted. SLIM Companion previews msg files in SharePoint without opening Outlook, displaying it in the browser. Attachments can be opened directly without first downloading the msg file in Outlook. SLIM Companion consists of a single 200 kB html file and does not require any software installs on SharePoint or the user's computer. See https://www.linkedin.com/pulse/outlook-sharepoint-integration-using-browser-paul-h-k-de-jong or www.slimapplications.com for further details.
Paul de Jong | SLIM Applications

Save Email as MSG file without using Outlook (COM object, etc.) or 3rd party software

Right now, I'm using the Exchange Web Services API with PowerShell to pull down specific emails from exchange and save them as EML files. This works great; however, the user/customer requires the emails to be in msg format. There are two ways that I've seen to do this:
Use Outlook/Outlook COM Object
Use a 3rd party library or software (like this: http://www.independentsoft.de/exchangewebservices/tutorial/downloadmessagetomsgfile.html)
Are there any other alternatives? I would like to stick with PowerShell if possible, but it seems like EWS might be limited to writing EML files.
There is no flexibility on the MSG vs EML requirement (compliance).
EDIT:
This will be run on a server; so I would prefer if this could be done without having Outlook installed.
You can still use PowerShell with the Outlook Object Model (OOM), if that's what you are hoping for.
You can also use Redemption, which has more features than OOM (it can also be run in a service, doesn't fire Outlook security prompts, etc.).
You can create an MSG file explicitly in your code (it is an OLE storage (IStorage) file and its format is documented) - parse the EML file, then populate various MAPI properties in the MSG file.
You can also use Redemption (I am its author). Converting an EML file to MSG is as easy as
RDOSession Session = new RDOSession();
RDOMail Msg = Session.CreateMessageFromMsgFile(#"c:\temp\YourMsgFile.msg");
Msg.Import(#"c:\temp\YourEmlFile.eml", rdoSaveAsType.olRFC822);
Msg.Save();

How to send a custom email with an attached report based on variables with MS Access? 2003 or 2007

I would need to send an email with standard text (but some custom parts like names and dates) with an attached pdf report generated with ms access. I prefer a solution for access 2003, but if it works on 2007 it's fine too.
Can be done directly from ms-access or I need some other apps/work?
thanks ;)
There are several articles that might come in handy to help you with this.
Creating PDF files from within Access
http://www.granite.ab.ca/access/pdffiles.htm
Report To PDF
http://www.lebans.com/reporttopdf.htm
Using Automation to Send a Microsoft Outlook Message
http://support.microsoft.com/?kbid=161088

Difference between iCalendar (.ics) and the vCalendar (.vcs)

I want to send booking information through mail in an attachment to add in MS Outlook.
Which format is better? Especially for MS Outlook 2003?
iCalendar was based on a vCalendar and Outlook 2007 handles both formats well so it doesn't really matters which one you choose.
I'm not sure if this stands for Outlook 2003. I guess you should give it a try.
Outlook's default calendar format is iCalendar (*.ics)
Both .ics and .vcs files are in ASCII. If you use "Save As" option to save a calendar entry
(Appt, Meeting Request/Response/Postpone/Cancel and etc) in both .ics and .vcs format and
use vimdiff, you can easily see the difference.
Both .vcs (vCal) and .ics (iCal) belongs to the same VCALENDAR camp, but .vcs file shows
"VERSION:1.0" whereas .ics file uses "VERSION:2.0".
The spec for vCalendar v1.0 can be found at http://www.imc.org/pdi/pdiproddev.html. The spec for iCalendar (vCalendar v2.0) is in RFC5545. In general, the newer is better, and
that is true for Outlook 2007 and onward, but not for Outlook 2003.
For Outlook 2003, the behavior is peculiar. It can save the same calendar entry in both
.ics and .vcs format, but it only read & display .vcs file correctly. It can read
.ics file but it omits some fields and does not display it in calendar mode. My guess is
that back then Microsoft wanted to provide .ics to be compatible with Mac's iCal but
not quite committed to v2.0 yet.
So I would say for Outlook 2003, .vcs is the native format.
You can try VCS to ICS file converter (Java, works with Windows, Mac, Linux etc.). It has the feature of parsing events and todos.
You can convert the VCS generated by your Nokia phone, with bluetooth export or via nbuexplorer.
Complete support for UTF-8
Quoted-printable encoded strings
Completely open source code (GPLv3 and Apache 2.0)
Standard iCalendar v2.0 output
Encodes multiple files at once (only one event per file)
Compatible with Android, iOS, Mozilla Lightning/Sunbird, Google Calendar and others
Multiplatform
The VCS files can have its information coded in Quoted printable which is a nightmare. The above solution recommending "VCS to ICS Calendar Converter" is the way to go.
The newer iCalendar format, with more data attached, includes information about the person who created the event, so that when it is imported into Outlook (for example), changes to that event are communicated via email to the creator. This can be helpful when you need to inform others of any changes.
However, when I am just exporting an event from one of my calendars to another, I prefer to use vCalendar, since this does not require sending an email message to the creator (usually myself) if I make a change or delete something.