예제 #1
0
		public void DisplayProgressOption()
		{
			OutlookHookWorker ohw = new OutlookHookWorker();
			Request request = new Request();
			
			bool bOriginalDisplayProgressOption = GetDisplayProgressOnMailSend();

			// if Professional isn't installed then the ConfigMgr calls will fail.
			if (SetDisplayProgressOnMailSend(false))
			{
				Assert.IsFalse(ohw.DisplayProgressOnMailSend(request), "Expected Progress display to be turned off.");

				SetDisplayProgressOnMailSend(bOriginalDisplayProgressOption);
			}
			else
			{
				Assert.IsTrue(ohw.DisplayProgressOnMailSend(request), "Expected Progress display to be turned on.");
			}
		}
        public void Test01_CreateUroInternalRecips()
        {
            MSOutlook._MailItem item = GetMailItemFromFile(TESTFILES_ROOT + "Test01_CreateUroInternalRecips.msg");
            try
            {
                item.Save();
                UniversalRequestObject uro = new OutlookHookWorker().CreateUro(item as MSOutlook.MailItem);

                Assert.AreEqual("SMTP", uro.ChannelType);
                Assert.AreEqual("SMTP", uro.RequestType);
                Assert.AreEqual("lnpair", uro.MailAddresses.From.FullName);
                Assert.AreEqual("*****@*****.**", uro.MailAddresses.From.EmailAddress);

                Assert.AreEqual("Test01_CreateUroInternalRecips", uro.Properties[MailMessagePropertyKeys.Subject]);
                Assert.AreEqual("Test01_CreateUroInternalRecips\r\n", uro.Properties[MailMessagePropertyKeys.Body]);
                Assert.AreEqual(String.Empty, uro.Properties[MailMessagePropertyKeys.FileHeader]);
                Assert.AreEqual(String.Empty, uro.Properties[MailMessagePropertyKeys.Attachments]);

                Assert.AreEqual(0, uro.Attachments.Count);

                Assert.AreEqual(2, uro.MailAddresses.To.Count);
                Assert.AreEqual("lnpair", uro.MailAddresses.To[0].FullName);
                Assert.AreEqual("*****@*****.**", uro.MailAddresses.To[0].EmailAddress);
                Assert.AreEqual("Pair Adm", uro.MailAddresses.To[1].FullName);
                Assert.AreEqual("*****@*****.**", uro.MailAddresses.To[1].EmailAddress);
            }
            finally
            {
                item.Delete();
            }

        }
        public void Test07_CreateUroOleAttachment()
        {
            MSOutlook._MailItem item = GetMailItemFromFile(TESTFILES_ROOT + "Test07_CreateUroOleAttachment.msg");
            try
            {
                UniversalRequestObject uro = new OutlookHookWorker().CreateUro(item as MSOutlook.MailItem);

                Assert.AreEqual("SMTP", uro.ChannelType);
                Assert.AreEqual("SMTP", uro.RequestType);
                Assert.AreEqual("lnpair", uro.MailAddresses.From.FullName);
                Assert.AreEqual("*****@*****.**", uro.MailAddresses.From.EmailAddress);

                Assert.AreEqual("Test07_CreateUroOleAttachment", uro.Properties[MailMessagePropertyKeys.Subject]);
                Assert.IsTrue(uro.Properties[MailMessagePropertyKeys.Body].Contains("Test07_CreateUroOleAttachment"));
                Assert.AreEqual(String.Empty, uro.Properties[MailMessagePropertyKeys.FileHeader]);
                Assert.AreEqual("", uro.Properties[MailMessagePropertyKeys.Attachments]);

                Assert.AreEqual(0, uro.Attachments.Count);

                Assert.AreEqual(1, uro.MailAddresses.To.Count);
                Assert.AreEqual("'[email protected]'", uro.MailAddresses.To[0].FullName);
                Assert.AreEqual("[email protected]", uro.MailAddresses.To[0].EmailAddress);
            }
            finally
            {
                item.Delete();
            }
        }
        public void Test06_CreateUroMixedRecipsAttachments()
        {
            MSOutlook._MailItem item = GetMailItemFromFile(TESTFILES_ROOT + "Test06_CreateUroMixedRecipsAttachments.msg");
            try
            {
                item.Attachments.Add(TESTFILES_ROOT + "image.jpg", MSOutlook.OlAttachmentType.olByValue, 1, "image.jpg");
                item.Attachments.Add(TESTFILES_ROOT + "test.pdf", MSOutlook.OlAttachmentType.olByValue, 2, "test.pdf");
                item.Save();
                UniversalRequestObject uro = new OutlookHookWorker().CreateUro(item as MSOutlook.MailItem);

                Assert.AreEqual("SMTP", uro.ChannelType);
                Assert.AreEqual("SMTP", uro.RequestType);
                Assert.AreEqual("lnpair", uro.MailAddresses.From.FullName);
                Assert.AreEqual("*****@*****.**", uro.MailAddresses.From.EmailAddress);

                Assert.AreEqual("Test06_CreateUroMixedRecipsAttachments", uro.Properties[MailMessagePropertyKeys.Subject]);
				Assert.IsTrue(uro.Properties[MailMessagePropertyKeys.Body].Contains("Test06_CreateUroMixedRecipsAttachments"));
                Assert.AreEqual(String.Empty, uro.Properties[MailMessagePropertyKeys.FileHeader]);
                Assert.AreEqual("image.jpg test.pdf ", uro.Properties[MailMessagePropertyKeys.Attachments]);

                Assert.AreEqual(2, uro.Attachments.Count);
                Assert.AreEqual("image.jpg", uro.Attachments[0].Name);
                Assert.AreEqual("application/octet-stream; name=image.jpg", uro.Attachments[0].ContentType);
                Assert.AreEqual("test.pdf", uro.Attachments[1].Name);
                Assert.AreEqual("application/octet-stream; name=test.pdf", uro.Attachments[1].ContentType);

                Assert.AreEqual(4, uro.MailAddresses.To.Count);
                Assert.AreEqual("'*****@*****.**'", uro.MailAddresses.To[0].FullName);
                Assert.AreEqual("*****@*****.**", uro.MailAddresses.To[0].EmailAddress);
                Assert.AreEqual("lnpair", uro.MailAddresses.To[1].FullName);
                Assert.AreEqual("*****@*****.**", uro.MailAddresses.To[1].EmailAddress);
                Assert.AreEqual("Pair Adm", uro.MailAddresses.To[2].FullName);
                Assert.AreEqual("*****@*****.**", uro.MailAddresses.To[2].EmailAddress);
                Assert.AreEqual("'*****@*****.**'", uro.MailAddresses.To[3].FullName);
                Assert.AreEqual("*****@*****.**", uro.MailAddresses.To[3].EmailAddress);
            }
            finally
            {
                item.Delete();
            }
        }
예제 #5
0
		private bool ProcessMailSynchronously(bool bSendAndProtect, Microsoft.Office.Interop.Outlook.MailItem mailItem)
		{
            if (_lcfm == null)
                _lcfm = new LocalCopyOfFileManager(true);
            mailItem.SaveAs(_lcfm.GetLocalCopyOfFileTarget(Guid.NewGuid().ToString()));

			Logger.LogInfo("[WORKSHARE PROTECT ASYNCH-MODE] - Processing mail synchronously.");
			OutlookHookWorker outlookHookWorker = new OutlookHookWorker();
			outlookHookWorker.SendAndProtect = bSendAndProtect;
			outlookHookWorker.ProtectSimple = this.UsingProtectSimple;
            outlookHookWorker.IsDeterministicSendEnabled = IsDeterministicSendEnabled();

            outlookHookWorker.IsOutlookSecurityDisabled = DisableOutlookSecurity();

            bool result = outlookHookWorker.NotifyOfItemSend(mailItem);
			m_bIsProtectDisabledForCurrentRouting = outlookHookWorker.IsProtectDisabledForCurrentRouting;
			m_bIsSendLink = outlookHookWorker.IsSendLink;
			m_bFormattedMsgText = outlookHookWorker.FormattedMsgText;
            CleanUpForInterwovenEMM();
			if (outlookHookWorker.IsOutlookSecurityDisabled)
			{
				EnableOutlookSecurity();
			}

            return result;
		}