• Hello and welcome to our new forums. We upgraded our forum sites to a more robust and modern system which we hope you will enjoy. Be sure to check out your profile by clicking the button on the top right and configure your preferences, signature, time zone, avatar, etc. as you wish. If you need help with using this new forum'ware try the help link on the bottom right.

    Click here to review your account now.

Download attachment Outlook


New member
May 15, 2019
Programming Experience
Hello everyone
I need help
this code download the attachment of an email by giving him the subject of the email
This Business Object makes use of the Microsoft.Office.Interop.Outlook assembly,
it's referenced in the code options tab of the BO properties, as an external reference
DataTable edbFnames = new DataTable();
edbFnames.Columns.Add(new DataColumn("File Name", typeof(String)));
int index = 1;
DateTime edate = DateTime.Now.Date;
if( ddate != DateTime.MinValue)
edate = ddate;
Microsoft.Office.Interop.Outlook.Application Application = new Microsoft.Office.Interop.Outlook.Application();
Folder root = Application.Session.DefaultStore.GetRootFolder() as Folder; //Gets the root folder
Folders childFolders = root.Folders; //Gets the child folders of the root folder
if (childFolders.Count > 0)

foreach (Folder childFolder in childFolders) //Iterates through ROOT's child folders
if (childFolder.FolderPath.Contains(inboxF)) //Finds the Inbox folder
var fi = childFolder.Items;
if (fi != null)
foreach (Object item in fi) //Iterates through Inbox's objects
MailItem mi = (MailItem)item; //Cast Objects to Mails
if(mi.Subject.Contains(SMC) && mi.CreationTime.Date.Equals(edate) && mi.UnRead) //Look for the mail that regards all the conditions
mi.UnRead = false;
if(mi.Attachments.Count > 0) //Check if the mail has attachments
for (int i = 1; i <= mi.Attachments.Count; i++) //Iterates throught attachments
mi.Attachments.SaveAsFile(dPath + mi.Attachments.FileName); //Save the excel attachment in a given path
edbFnames.Rows.Add(dPath + mi.Attachments.FileName); //Store the excel file name in a DataTable(Collection)
EDB = edbFnames;

I need to modify it so that it downloads the attachment of a specific account, it can have more than one account configured in outlook, sorry for my bad English
Top Bottom