|
Utkarsh
Guest
|
Hi Team,
I would like to read all the emails in the selected folder in Outlook. I have followed many examples in your blog and I am able to read the email. But the add-in throws the COM error when trying to read the signed email. I tried following following approaches but in vain.
1. Get the ItemType of MailItem (http://msdn.microsoft.com/en-us/library/office/ff861573.aspx)
In the above case it will be either IPM.Note.Secure or IPM.Note.Secure.Sign.
Can you please let me know if there is any other way or better approach using ADX?
An example would be helpful.
Thanks in advance. |
|
Posted 23 Dec, 2012 23:27:22
|
|
Top
|
|
Andrei Smolin
Add-in Express team
Posts: 18821
Joined: 2006-05-11
|
Hi Utkrash,
I'm sorry, my previous message was intended for some other post. I'm sorry for sending it to you.
What code line produces the exception?
Andrei Smolin
Add-in Express Team Leader |
|
Posted 24 Dec, 2012 04:14:17
|
|
Top
|
|
Utkarsh
Guest
|
Andrei Smolin writes:
What code line produces the exception?
Hi Andrei,
I have pasted the code below. Basically it is not doing anything special, but as soon as it encounters an signed email it throws the null error at it is not able to cast it to MailItem
Code:
Outlook.NameSpace nameSpace = OutlookApp.GetNamespace("MAPI");
Outlook.MAPIFolder folderInbox = nameSpace.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox);
var currentFolder = OutlookApp.ActiveExplorer().CurrentFolder;
Debug.WriteLine(currentFolder.Name);
var itemsCount = currentFolder.Items.Count;
for (int i = 1; i <= itemsCount; i++)
{
_MailItem mailItem = currentFolder.Items.Item(i) as _MailItem;
Debug.WriteLine(mailItem.SenderName);
}
if (folderInbox != null) // Inbox
{
System.Windows.Forms.MessageBox.Show(folderInbox.Name);
Marshal.ReleaseComObject(folderInbox);
}
if (nameSpace != null) Marshal.ReleaseComObject(nameSpace);
|
|
Posted 24 Dec, 2012 07:22:05
|
|
Top
|
|
Utkarsh
Guest
|
Hi Andrei,
Please do not investigate this. There was some silly mistake at my end in the code. I have now added a null check to verify whether cast is successful. It is working fine.
Thanks for your support. |
|
Posted 24 Dec, 2012 08:40:07
|
|
Top
|
|
Andrei Smolin
Add-in Express team
Posts: 18821
Joined: 2006-05-11
|
Hi Utkarsh,
You cannot read an encrypted email programmatically because this would compromise the whole idea of encrypting.
I suppose the reasoning can be applied to digitally signed emails I've googled enough to conclude that you cannot read digitally signed emails too.
The page below and the pages it points is actually an essence of what I've been able to find:
http://www.outlookbanter.com/outlook-vba/7324-vb-macro-fails-digitally-signed.html
Hope this helps.
Andrei Smolin
Add-in Express Team Leader |
|
Posted 24 Dec, 2012 08:42:14
|
|
Top
|
|
Utkarsh
Guest
|
Hi Andrei,
I went through the link you shared. However, I have 2 questions.
1. I do not want to read the body of the signed email. I just want the sender email. Even this is not possible?
2. I do have the certificates installed on my local machine (certificates are provided by my employer). Even then it means that I cannot read the email? |
|
Posted 24 Dec, 2012 09:22:55
|
|
Top
|
|
Andrei Smolin
Add-in Express team
Posts: 18821
Joined: 2006-05-11
|
|
Posted 24 Dec, 2012 09:28:21
|
|
Top
|
|
Utkarsh
Guest
|
Not a problem Andrei, thanks a lot for your help! |
|
Posted 24 Dec, 2012 09:55:54
|
|
Top
|
|