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(); } }
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; }
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*/); }