public void TestRecipients()
		{
			using (WsActivationContext wsac = new WsActivationContext())
			using (OutlookEmailWrapper outlookEmailWrapper = new OutlookEmailWrapper(m_outlookSession))
			{
				outlookEmailWrapper.ToRecipients = "Test <*****@*****.**>;blackhole <*****@*****.**>;[email protected]";
				outlookEmailWrapper.CcRecipients = "[email protected];[email protected];[email protected]";
				outlookEmailWrapper.BccRecipients = "[email protected];[email protected]";

				outlookEmailWrapper.MailItem.Save();

				RedemptionRecipientTableProxy outlookRecipientTableProxy = new RedemptionRecipientTableProxy(outlookEmailWrapper.MailItem,
																												false/*Use Cache*/);

				NameValueCollection recipients = outlookRecipientTableProxy.GetProcessRecipients(OutlookRecipientTypes.ToRecipient);
				Assert.AreEqual(3, recipients.Count);

				int index = 0;
				// sometimes (x64 xp, o2007, vs2008) we don't get the single quotes round the names, which doesn't seem a problem
				Assert.AreEqual("Test", recipients.Keys[index].Trim('\''));
				Assert.AreEqual("*****@*****.**", recipients[index++]);
				Assert.AreEqual("blackhole", recipients.Keys[index].Trim('\''));
				Assert.AreEqual("*****@*****.**", recipients[index++]);
				Assert.AreEqual("*****@*****.**", recipients.Keys[index].Trim('\''));
				Assert.AreEqual("*****@*****.**", recipients[index++]);

				recipients = recipients = outlookRecipientTableProxy.GetProcessRecipients(OutlookRecipientTypes.CcRecipient);
				Assert.AreEqual(3, recipients.Count);

				index = 0;
				Assert.AreEqual("*****@*****.**", recipients.Keys[index].Trim('\''));
				Assert.AreEqual("*****@*****.**", recipients[index++]);
				Assert.AreEqual("*****@*****.**", recipients.Keys[index].Trim('\''));
				Assert.AreEqual("*****@*****.**", recipients[index++]);
				Assert.AreEqual("*****@*****.**", recipients.Keys[index].Trim('\''));
				Assert.AreEqual("*****@*****.**", recipients[index++]);

				recipients = recipients = outlookRecipientTableProxy.GetProcessRecipients(OutlookRecipientTypes.BccRecipient);
				Assert.AreEqual(2, recipients.Count);

				index = 0;
				Assert.AreEqual("*****@*****.**", recipients.Keys[index].Trim('\''));
				Assert.AreEqual("*****@*****.**", recipients[index++]);
				Assert.AreEqual("*****@*****.**", recipients.Keys[index].Trim('\''));
				Assert.AreEqual("*****@*****.**", recipients[index++]);

				outlookEmailWrapper.MailItem.Delete();
			}
		}
示例#2
0
        private void Initialise(object mailItem, bool bUseCache, bool disableAccessToDOMAttachments)
        {
            if (null == mailItem)
                throw new ArgumentNullException("mailItem");

			m_outlookMail = mailItem as MSOutlook.MailItem;
			if (null == m_outlookMail)
				throw new ArgumentNullException("m_outlookMail");

			m_oif = new OutlookIImplFactory();
			m_mailItem = m_oif.CreateWSMail(m_outlookMail);

			m_outlookRecipientTableProxy = new RedemptionRecipientTableProxy(m_outlookMail, bUseCache);

			m_outlookToRecipientsProxy = new RedemptionRecipientsProxy(m_outlookRecipientTableProxy, OutlookRecipientTypes.ToRecipient);
			m_outlookCcRecipientsProxy = new RedemptionRecipientsProxy(m_outlookRecipientTableProxy, OutlookRecipientTypes.CcRecipient);
			m_outlookBccRecipientsProxy = new RedemptionRecipientsProxy(m_outlookRecipientTableProxy, OutlookRecipientTypes.BccRecipient);
            m_outlookAttachmentsProxy = new RedemptionAttachmentsProxy(m_outlookMail, disableAccessToDOMAttachments);

			m_bIsValid = true;
		}
示例#3
0
		private void Dispose(bool disposing)
		{
			if (m_Disposed)
				return;

			m_Disposed = true;

			if (disposing)
			{
			}

			if (m_outlookAttachmentsProxy != null)
			{
				m_outlookAttachmentsProxy.Dispose();
				m_outlookAttachmentsProxy = null;
			}
			if (m_outlookToRecipientsProxy != null)
			{
				m_outlookToRecipientsProxy.Dispose();
				m_outlookToRecipientsProxy = null;
			}
			if (m_outlookCcRecipientsProxy != null)
			{
				m_outlookCcRecipientsProxy.Dispose();
				m_outlookCcRecipientsProxy = null;
			}
			if (m_outlookBccRecipientsProxy != null)
			{
				m_outlookBccRecipientsProxy.Dispose();
				m_outlookBccRecipientsProxy = null;
			}
			if (m_outlookRecipientTableProxy != null)
			{
				m_outlookRecipientTableProxy.Dispose();
				m_outlookRecipientTableProxy = null;
			}

			if (m_mailItem != null)
			{
				m_mailItem.Dispose();
				m_mailItem = null;
			}

			m_outlookMail = null;
		}
		public void TestInvalidMailItem()
		{
			RedemptionRecipientTableProxy outlookRecipientTableProxy  = new RedemptionRecipientTableProxy(null, false/*Use Cache*/);
		}