This article discusses about how can we access the inbox through MAPI using C# .NET. It also discusses about how to store the attachment in the local directory, how to create a folder in the inbox
Need to add the reference Microsoft CDO 1.21 Library to the project -
//Declarations
-
MAPI.Message objMsg, objMsg_Arch;
-
MAPI.Messages objMsgs;
-
MAPI.Attachment objAttach;
-
MAPI.Attachments objAttachments;
-
MAPI.Folder objFolder;
-
MAPI.AddressEntry objAddressEntry;
-
int intTotalMsgs;
-
string strLocalDir;
-
-
//To get the total message count in the inbox
-
objFolder = (Folder)objSession.Inbox;
-
objMsgs = (Messages)objFolder.Messages;
-
intTotalMsgs = (int)objMsgs.Count;
-
-
//To get the sender
-
objMsg = (MAPI.Message)(objMsgs.get_Item(intMsgLoop));
-
objAddressEntry = (AddressEntry)objMsg.Sender;
-
-
//To save the attachment to local disk
-
objAttachments = (Attachments)objMsg.Attachments;
-
objAttach = (Attachment)objAttachments.get_Item(intMsg);
-
if ((CdoAttachmentType)objAttach.Type == CdoAttachmentType.CdoFileData)
-
{
-
objAttach.WriteToFile(strLocalDir + objAttach.Name.ToString());
-
}
-
-
//To create a folder in the inbox
-
Folder objFolder;
-
Folders objFolders;
-
Folder objItemFolder;
-
int intFolderCount;
-
string strFldrArch;
-
bool blnOK;
-
-
objFolder = (Folder)objSession.Inbox;
-
objFolder = (Folder)objSession.GetFolder(objFolder.ID,objFolder.StoreID);
-
objFolders = (Folders) objFolder.Folders;
-
intFolderCount = (int)objFolders.Count;
-
-
for (int intLoop = 1; intLoop <= intFolderCount; intLoop++)
-
{
-
objItemFolder = (Folder)objFolders.get_Item(intLoop);
-
if (objItemFolder.Name.ToString() == strFldrArch)
-
{
-
blnOK = true;
-
objFolder = objItemFolder;
-
break;
-
}
-
}
-
if (!blnOK)
-
{
-
objFolder = (Folder)objFolders.Add(strFldrArch);
-
objFolder.Update(Missing.Value, Missing.Value);
-
}
-
-
//To delete the message from the inbox
-
objMsg.Delete(Missing.Value);
-
-
//To forward the message
-
Message objMsgFwd;
-
Recipients objRecipients;
-
-
objMsgFwd = (MAPI.Message)objMsg.Forward();
-
objRecipients = (Recipients)objMsgFwd.Recipients;
-
objRecipients.Add(<RecipientAddr>, Missing.Value, CdoRecipientType.CdoTo,
-
Missing.Value);
-
objMsgFwd.Text = <Body Message>;
-
objMsgFwd.Recipients = objRecipients; objRecipients.Resolve(Missing.Value);
-
objMsgFwd.Send(false, Missing.Value, Missing.Value);
-
-
//To move the message to a folder
-
object objFolderID, objStoreID;
-
objFolderID = objFolder.ID; //objFolder is the folder where the msg to
-
be moved
-
objStoreID = objFolder.StoreID;
-
objMsgArch = (MAPI.Message)objMsg.MoveTo(objFolderID, objStor
-
3 31864
Can u pls tell me how to access rediffmail inbox using c#??
Is this missing article some essential setup details because after adding the CDO as a reference this code does not even compile let alone run
Rabbit 12,516
Recognized Expert Moderator MVP
As far as I can tell, that code isn't meant to be fully functional in of itself. It is merely code snippets to be cut, pasted, and edited to fit your needs. The code in between each commented line is an example of how to accomplish the task of the preceding comment. For example, - //To delete the message from the inbox
-
objMsg.Delete(Missing.Value);
That is just an example of how to delete a message. It doesn't actually delete anything unless you set objMsg to an actual message and replace Missing.Value with the correct boolean value.
Sign in to post your reply or Sign up for a free account.
Similar topics |
by: Jason Ferree |
last post by:
I posetd this in one group, but got no response, so I'll try it in this one.
I am trying to loop through all messages in the inbox. To do something, in
my case, look for and save attachments.
It is telling me that items is not a collection. I've tried everything I
can think of, I've even copied the code from a few sources (had to add
specific OOM in front of method names), Including Sues book, some code from
www.outlookcode.com, and...
|
by: john bailo |
last post by:
I am trying to write a c# program to access Outlook internet headers for
messages in a public folder.
When I look at these messages in Outlook, and select View/Options, there is
information in the Internet Headers scrollbox.
BUT -- when i run the Visual Basic code ( so far this is the only documented
method I have found, so I'm converting it to c# ) found here:
http://support.microsoft.com/?kbid=194870
|
by: John |
last post by:
Hi
I am trying to access outlook contacts folders and delete the contacts that
do not contain a certain category value in the categories field. I have
written the below code but am stuck with the error on the indicated line.
Any help would be appreciated.
Thanks
Regards
|
by: Jason Ferree |
last post by:
I am trying to loop through all messages in the inbox. To do something, in
my case, look for and save attachments.
It is telling me that items is not a collection. I've tried everything I
can think of, I've even copied the code from a few sources (had to add
specific OOM in front of method names), Including Sues book, some code from
www.outlookcode.com, and one other place. but other than that, no change to
copied code. I think the...
|
by: Steve Le Monnier |
last post by:
Can anybody help with the following: I have some old VB6 code that loops
through my inbox looking for emails with attachments and then save them to
the hard drive. The code is very simplistic so I thought it would be dead
easy to migrate it to C#, however it is proving more difficult than I first
thought.
The VB code is as follows:
Set oSession = CreateObject("MAPI.Session")
oSession.Logon("Outlook", , False)
| |
by: salad |
last post by:
I have the following code.
Dim Olapp As Object
Dim Olmapi As Object
Dim Olfolder As Object
Set Olapp = GetObject(, "Outlook.Application") 'get reference
Set Olmapi = Olapp.GetNamespace("MAPI")
Set Olfolder = Olmapi.GetDefaultFolder(6) '6 for olfolderinbox
MsgBox Olfolder.name & " " & Olfolder.Items.Count
|
by: bill |
last post by:
I have this code to get to the default Outlook inbox but I would like to get
to the inbox of an additional added mailbox. Can this be done? Here is the
code I'm using below:
Dim objSession As MAPI.Session
Dim objInbox As MAPI.Folder
Dim objMessages As MAPI.Messages
Dim objMessage As MAPI.Message
|
by: davidiwharper |
last post by:
Hello all
I am trying to modify a CDO script that moves email messages out of a user's inbox and into a drop folder. I want to update it to use a Public Folder instead.
The portion of the original script that matters is:
' URL used for Outlook Web Access
strOWAURL = "http://servername/exchange/"
|
by: ShwetaJain |
last post by:
Hi...
I am able to get the type of the message as IPM.Appointmnet in the inbox but i am unable to get the due date, start date, for that appointment....
I am using MAPI in exchange server but i dont want Outlook MAPI to be used....
Thanks & Regards,
Shweta
|
by: Oralloy |
last post by:
Hello folks,
I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>".
The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed.
This is as boiled down as I can make it.
Here is my compilation command:
g++-12 -std=c++20 -Wnarrowing bit_field.cpp
Here is the code in...
|
by: jinu1996 |
last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth.
The Art of Business Website Design
Your website is...
| |
by: Hystou |
last post by:
Overview:
Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
|
by: conductexam |
last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one.
At the time of converting from word file to html my equations which are in the word document file was convert into image.
Globals.ThisAddIn.Application.ActiveDocument.Select();...
|
by: TSSRALBI |
last post by:
Hello
I'm a network technician in training and I need your help.
I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs.
The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols.
I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
|
by: adsilva |
last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
|
by: 6302768590 |
last post by:
Hai team
i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
|
by: muto222 |
last post by:
How can i add a mobile payment intergratation into php mysql website.
| |
by: bsmnconsultancy |
last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...
| |