コード例 #1
0
        public static void Run()
        {
            //ExStart: 1
            SmtpClient smtpClient = new SmtpClient();

            smtpClient.Host                = "<HOST>";
            smtpClient.Username            = "******";
            smtpClient.Password            = "******";
            smtpClient.Port                = 587;
            smtpClient.SupportedEncryption = EncryptionProtocols.Tls;
            smtpClient.SecurityOptions     = SecurityOptions.SSLExplicit;

            int messageNumber           = 30;
            List <MailMessage> messages = new List <MailMessage>();

            for (int i = 0; i < messageNumber; i++)
            {
                MailMessage message = new MailMessage(
                    "*****@*****.**",
                    "*****@*****.**",
                    "Test Message - " + Guid.NewGuid().ToString(),
                    "Use disk cache and sending queue in group SMTP send operation");
                messages.Add(message);
            }

            smtpClient.SmtpQueueLocation = @"D:\E\AsposeTestDir\queue";
            int counter = 0;

            smtpClient.SucceededQueueSending += delegate(object sender, MailMessageEventArgs arguments)
            {
                counter++;
            };
            smtpClient.FailedQueueSending += delegate(object sender, MailMessageEventArgs arguments)
            {
                counter++;
            };
            smtpClient.SendToQueue(messages);
            IAsyncResult asyncResult = smtpClient.BeginSendQueue();

            while (counter != messageNumber)
            {
                Thread.Sleep(50);
            }
            smtpClient.CancelAsyncOperation(asyncResult);
            //ExEnd: 1

            Console.WriteLine("UseDiskCacheAndSendingQueue executed successfully.");
        }