private void items_ItemAdd(object Item) { Microsoft.Office.Interop.Outlook.MailItem mail = (Microsoft.Office.Interop.Outlook.MailItem)Item; //var mail = (Outlook.OlItemType.olMailItem)Item; string subject = mail.Subject; //mail.BodyFormat = Outlook.OlBodyFormat.olFormatPlain; // MailItem에서 Body를 못 가져옵니다. // Office 2016 pro plus의 오류. ㅜㅡ; **** string body = mail.Body; string realBody = string.Empty; realBody = ai.GetRealBody(body); string strTemp = ai.GetMailIent(subject, realBody); if (!String.IsNullOrEmpty(strTemp)) { mail.FlagStatus = Outlook.OlFlagStatus.olFlagMarked; mail.Importance = Outlook.OlImportance.olImportanceHigh; mail.Categories = strTemp; mail.Save(); // 여기서 좀 더 확장가능 // Reqeust: To-do에 등록 // Meeting Request: 일정에 등록 또는 "일정확정" 으로 to-do에 등록. // Reply: } }
public static void ReadOutlook() { Outlook._Application olApp = new Outlook.ApplicationClass(); Outlook._NameSpace olNS = olApp.GetNamespace("MAPI"); olNS.Logon("@OutlookEmail", "@OutlookPassword", false, false); Outlook.MAPIFolder oFolder = olNS.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox); TodayDate = DateTime.Now.ToString("MM/dd/yyyy"); Outlook.Items oItems = oFolder.Items.Restrict("[ReceivedTime] >= '" + TodayDate + "'"); //Outlook.Items oItems = oFolder.Items.Restrict("[UnRead] = true"); for (int i = 1; i <= oItems.Count; i++) { Microsoft.Office.Interop.Outlook.MailItem oMsg = (Microsoft.Office.Interop.Outlook.MailItem)oItems[i]; MailSubject = oMsg.Subject.ToString(); MailBody = System.Web.HttpUtility.JavaScriptStringEncode(oMsg.Body); if (MailSubject.StartsWith("RE:") || MailSubject.StartsWith("FW:") || MailSubject.StartsWith("Re:") || MailSubject.StartsWith("Fw:") || MailSubject.StartsWith("Fwd:")) { // Do not fetch mail with contains word above (reply and forward type) } else { EmailCount++; NewEmailList.Add(MailSubject); Console.WriteLine(MailSubject + MailBody); CreatJiraIssue(MailSubject, MailBody); } } ListName = string.Join("\n", NewEmailList.ToArray()); Console.WriteLine(EmailCount); Microsoft.Office.Interop.Outlook.MailItem oMsgSend = (Outlook.MailItem)olApp.CreateItem(Outlook.OlItemType.olMailItem); oMsgSend.To = "######Recieved_Email######"; oMsgSend.To = "######Sender_Email######"; oMsgSend.Subject = "Summary Auto Email Fetching " + TodayDate; oMsgSend.Body = "All New Email count: " + EmailCount + "\n\nFetching complete: " + EmailCount + "\n\nList Email names: \n\n" + ListName; oMsgSend.Save(); oMsgSend.Send(); }