Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Windows.Forms;
- using Outlook = Microsoft.Office.Interop.Outlook;
- namespace OutlookDelete
- {
- public partial class Form1 : Form
- {
- public Form1()
- {
- InitializeComponent();
- }
- public void DeleteMail()
- {
- Outlook._Application myOlApp = null;
- Outlook.NameSpace newNS = null;
- myOlApp = new Outlook.Application();
- newNS = myOlApp.GetNamespace("MAPI");
- Outlook.MAPIFolder outbox = newNS.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderOutbox);
- Outlook.MAPIFolder inbox = newNS.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox);
- Outlook.MAPIFolder sent = newNS.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderSentMail);
- //Outlook.MAPIFolder delete = newNS.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderDeletedItems);
- string strSearchString = "AppV";
- string filter = "@SQL=\"urn:schemas:httpmail:subject\" like '%" + strSearchString + "%'";
- Outlook.Table outboxTable = outbox.GetTable(filter, Outlook.OlTableContents.olUserItems);
- Outlook.Table inboxTable = inbox.GetTable(filter, Outlook.OlTableContents.olUserItems);
- Outlook.Table sentTable = sent.GetTable(filter, Outlook.OlTableContents.olUserItems);
- Outlook.Table deleteTable = sent.GetTable(filter, Outlook.OlTableContents.olUserItems);
- while (!outboxTable.EndOfTable)
- {
- // get the row item
- Outlook.Row myrow = outboxTable.GetNextRow();
- string subject = (string) myrow["Subject"];
- string EntryID = "";
- EntryID = Convert.ToString(myrow["EntryID"]);
- string StoreID = "";
- StoreID = Convert.ToString(outbox.StoreID);
- Outlook.MailItem oMail = (Outlook.MailItem) myOlApp.Session.GetItemFromID(EntryID, StoreID);
- oMail.Delete();
- // release objects
- myrow = null;
- }
- while (!inboxTable.EndOfTable)
- {
- // get the row item
- Outlook.Row myrow = inboxTable.GetNextRow();
- string subject = (string) myrow["Subject"];
- string EntryID = "";
- EntryID = Convert.ToString(myrow["EntryID"]);
- string StoreID = "";
- StoreID = Convert.ToString(inbox.StoreID);
- Outlook.MailItem oMail = (Outlook.MailItem) myOlApp.Session.GetItemFromID(EntryID, StoreID);
- //MessageBox.Show(oMail.Subject);
- oMail.Delete();
- myrow = null;
- }
- while (!sentTable.EndOfTable)
- {
- // get the row item
- Outlook.Row myrow = sentTable.GetNextRow();
- string subject = (string)myrow["Subject"];
- string EntryID = "";
- EntryID = Convert.ToString(myrow["EntryID"]);
- string StoreID = "";
- StoreID = Convert.ToString(sent.StoreID);
- Outlook.MailItem oMail = (Outlook.MailItem)myOlApp.Session.GetItemFromID(EntryID, StoreID);
- oMail.Delete();
- // release objects
- myrow = null;
- }
- deleteBin();
- //while (!deleteTable.EndOfTable)
- //{
- // // get the row item
- // Outlook.Row myrow = deleteTable.GetNextRow();
- // string subject = (string)myrow["Subject"];
- // string EntryID = "";
- // EntryID = Convert.ToString(myrow["EntryID"]);
- // string StoreID = "";
- // StoreID = Convert.ToString(delete.StoreID);
- // //delete.Items.Remove(1);
- // Outlook.MailItem oMail = (Outlook.MailItem)myOlApp.Session.GetItemFromID(EntryID, StoreID);
- // oMail.Delete();
- // // release objects
- // myrow = null;
- //}
- }
- private void btnGo_Click(object sender, EventArgs e)
- {
- DeleteMail();
- }
- public void deleteBin()
- {
- Outlook._Application outlookApp =
- new Outlook.Application();
- Outlook.MAPIFolder binF = (Outlook.MAPIFolder)outlookApp.Session.GetDefaultFolder
- (Outlook.OlDefaultFolders.olFolderDeletedItems);
- while (binF.Items.Count != 0)
- {
- binF.Items.Remove(1);
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement