private _com_OutlookMailItem GetItemFromID(string EntryID, string StoreID) { OutlookGUIInit.StartAndInitializeOutlook(); _com_Outlook_Application outlook = null; _com_OutlookNameSpace session = null; try { outlook = new _com_Outlook_Application(); session = outlook.NameSpace; return(session.GetItemFromID(EntryID, StoreID)); } catch (Exception exception) { ReportProblem(exception); } finally { COM_Object.ReleaseIfNotNull(session); COM_Object.ReleaseIfNotNull(outlook); } return(null); }
private bool CreateNewMessage(string subject, string body, EmailBodyFormat bodyFormat, ArrayList recipients, string[] attachments, bool useTemplatesInBody, ArrayList categories) { Settings.LoadSettings(); OutlookGUIInit.StartAndInitializeOutlook(); _com_Outlook_Application outlook = null; _com_OutlookMailItem newMail = null; try { outlook = new _com_Outlook_Application(); newMail = outlook.CreateNew(); newMail.Subject = subject; bool validBody = !String.IsNullOrEmpty(body); if (useTemplatesInBody && Settings.UseSignature) { body += "\r\n"; body += Settings.Signature; } if (validBody && EmailBodyFormat.Html == bodyFormat) { try { newMail.BodyFormat = OlBodyFormat.olFormatHTML; } catch (Exception) {} newMail.HTMLBody = body; } else if (validBody) { try { newMail.BodyFormat = OlBodyFormat.olFormatPlain; } catch (Exception) {} newMail.Body = body; } else if (!String.IsNullOrEmpty(body)) { newMail.Body = body; } if (recipients != null && recipients.Count > 0) { OutlookSession.EMAPISession.AddRecipients(newMail.MAPIOBJECT, recipients); if (Settings.SetCategoryFromContactWhenEmailSent && categories != null) { newMail.AddCategories(categories); } } if (attachments != null && attachments.Length > 0) { newMail.AddAttachments(attachments); } newMail.Display(false); return(true); } catch (Exception exception) { ReportProblem(exception); } finally { COM_Object.ReleaseIfNotNull(newMail); COM_Object.ReleaseIfNotNull(outlook); } return(false); }