예제 #1
0
        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();
        }
예제 #2
0
        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();
        }