private void menuItemDelete_Click(object sender, EventArgs e) { string message = "Are you sure you want to delete selected message(s) from queue?"; if (MessageBox.Show(Strings.Localize(message), EnumStrings.hMailServerAdministrator, MessageBoxButtons.YesNo) == DialogResult.Yes) { WaitCursor waitCursor = new WaitCursor(); hMailServer.DeliveryQueue deliveryQueue = GetDeliveryQueue(); foreach (ListViewItem item in listDeliveryQueue.SelectedItems) { string messageID = (string)item.Tag; deliveryQueue.Remove(Convert.ToInt64(messageID)); } Marshal.ReleaseComObject(deliveryQueue); } RefreshDeliveryQueue(); }
private static void DeleteMessagesInQueue() { hMailServer.Application application = SingletonProvider <Utilities> .Instance.GetApp(); hMailServer.DeliveryQueue queue = application.GlobalObjects.DeliveryQueue; hMailServer.Status status = application.Status; string[] messages = status.UndeliveredMessages.Split('\n'); foreach (string message in messages) { if (message.Length < 10) { continue; } string[] info = message.Split('\t'); int id = Convert.ToInt32(info[0]); queue.Remove(id); } application.SubmitEMail(); }