Managing Outlook Tasks
Creating, Saving and Reading Tasks
Aspose.Email for .NET allows you to create Outlook tasks and save them in MSG format. The MapiTask class provides a number of properties such as percent_complete, estimated_effort, actual_effort, history, last_update, and others, to accommodate and set information required for an Outlook task. This article shows how to create, save and read a MapiTask from disc.
Create and Save Tasks to a Disc
The code sample below demonstrates how to create, configure, and store an Outlook task using the MAPI (Messaging Application Programming Interface):
- Instantiate a new object of the MapiTask class.
- Configure task properties.
- Save the task to disc in MSG format.
Read MapiTask
The MapiTask class is used to cast a MapiMessage object that loads a task from a disk in MSG format. The following code snippet demonstrates how to read a MapiTask:
Read VToDo Tasks
Google Tasks exported in iCalendar format as VToDo events can be loaded using the MapiTask class. The following code snippet shows you how to load and read a VToDo task:
import aspose.email as ae
data_dir = "path/to/data/directory"
task = ae.mapi.MapiTask.from_v_todo(data_dir + "VToDoTask.ics")
task.save(data_dir + "VToDo_out.msg", ae.mapi.TaskSaveFormat.MSG)
Add Reminders to MapiTasks
Similar to Microsoft Outlook, Aspose.Email can add reminder information to a MapiTask. The following code snippet shows you how this task can be performed with Aspose.Email for Python via .NET:
Add Attachments to MapiTasks
Use the add method of the MapiAttachmentCollection class to add an attachment to a MapiTask. The following code sample will help you with that:
import aspose.email as ae
import datetime as dt
task = ae.mapi.MapiTask("Task with attacment", "Test body of task with attacment", dt.datetime.now(), dt.datetime.now());
task.attachments.add("Attachment.txt", str.encode("attachment data"))
task.save("AddAttachmentsToMapiTask_out", ae.mapi.TaskSaveFormat.MSG)
Add Recurrence to MapiTasks
Aspose.Email allows to create a recurring task where the recurrence can be daily, weekly, monthly, or yearly. The following code snippet shows you how to create a task with different recurrence types:
Task Conversion
Convert Tasks to MHT
The following code sample demonstrates how to convert a task to MHT format specifying additional options for the MHT format when task-specific fields should be rendered (RENDER_TASK_FIELDS) and that the header information should be included (WRITE_HEADER). The mht_format_options property of the MhtSaveOptions class is used to define additional options when saving in MHTML format.
import aspose.email as ae
msg = ae.mapi.MapiMessage.load("MapiTask.msg")
opt = ae.SaveOptions.default_mhtml
opt.mht_format_options = ae.MhtFormatOptions.RENDER_TASK_FIELDS | ae.MhtFormatOptions.WRITE_HEADER
msg.save("MapiTask_out.mht", opt)
Convert MSG to HTML Preserving Task Fields
The RENDER_TASK_FIELDS value of the HtmlFormatOptions enumeration makes it possible to include the task fields into the header of the saved HTML file. The following code snippet shows how to preserve the task fields in the header when saving a message as HTML:
import aspose.email as ae
from aspose.email.mapi import MapiMessage
msg = MapiMessage.load("task.msg")
options = ae.HtmlSaveOptions()
options.html_format_options = ae.HtmlFormatOptions.WRITE_HEADER | ae.HtmlFormatOptions.RENDER_TASK_FIELDS
msg.save("task.html", options)