<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Documentation – Làm việc với IMAP Client</title>
    <link>/email/vi/net/working-with-imap-client/</link>
    <description>Recent content in Làm việc với IMAP Client on Documentation</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>vi</language>
    
	  <atom:link href="/email/vi/net/working-with-imap-client/index.xml" rel="self" type="application/rss+xml" />
    
    
      
        
      
    
    
    <item>
      <title>Net: Kết nối tới máy chủ IMAP</title>
      <link>/email/vi/net/connecting-to-imap-server/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/email/vi/net/connecting-to-imap-server/</guid>
      <description>
        
        
        &lt;h2 id=&#34;liệt-kê-các-phần-mở-rộng-máy-chủ-imap&#34;&gt;&lt;strong&gt;Liệt Kê Các Phần Mở Rộng Máy Chủ IMAP&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;Aspose.Email &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/&#34;&gt;ImapClient&lt;/a&gt; cho phép bạn truy xuất các phần mở rộng mà máy chủ hỗ trợ như IDLE, UNSELECT, QUOTA, v.v. Điều này giúp xác định tính khả dụng của một phần mở rộng trước khi sử dụng client cho chức năng đó. The &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients/emailclient/getcapabilities/#getcapabilities&#34;&gt;GetCapabilities()&lt;/a&gt; phương thức trả về các loại phần mở rộng được hỗ trợ dưới dạng mảng chuỗi. Đoạn mã sau đây cho bạn thấy cách truy xuất các phần mở rộng.&lt;/p&gt;
&lt;script src=&#34;https://gist.github.com/aspose-com-gists/6e5185a63aec6fd70d83098e82b06a32.js?file=Examples-CSharp-IMAP-RetreivingServerExtensions-RetreivingServerExtensions.cs&#34;&gt;&lt;/script&gt;

&lt;h2 id=&#34;kết-nối-imap-tiêu-chuẩn&#34;&gt;&lt;strong&gt;Kết Nối IMAP Tiêu Chuẩn&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;Cái &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/&#34;&gt;ImapClient&lt;/a&gt; lớp cho phép các ứng dụng quản lý hộp thư IMAP bằng giao thức IMAP. &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/&#34;&gt;ImapClient&lt;/a&gt; lớp được sử dụng để kết nối tới máy chủ thư IMAP và quản lý email trong các thư mục email IMAP. Để kết nối tới máy chủ IMAP&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Tạo một đối tượng của &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/&#34;&gt;ImapClient&lt;/a&gt; lớp.&lt;/li&gt;
&lt;li&gt;Xác định tên máy, tên người dùng và mật khẩu trong &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/imapclient/#constructor_8&#34;&gt;ImapClient constructor&lt;/a&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;blockquote&gt;
&lt;p&gt;Lưu ý, các hạn chế về mật khẩu phải đáp ứng yêu cầu của máy chủ. Ứng dụng khách email không thêm các hạn chế mật khẩu.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Khi &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/&#34;&gt;ImapClient&lt;/a&gt; phiên bản được khởi tạo, lần gọi tiếp theo tới bất kỳ thao tác nào sử dụng phiên bản này sẽ kết nối tới máy chủ. Đoạn mã sau cho bạn thấy cách kết nối tới máy chủ IMAP bằng các bước trên.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-csharp&#34; data-lang=&#34;csharp&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-.NET&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// Create an imapclient with host, user and password&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;ImapClient&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;client&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;ImapClient&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;localhost&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;user&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;password&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;kết-nối-imap-có-ssl&#34;&gt;&lt;strong&gt;Kết Nối IMAP Có SSL&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&#34;/email/net/connecting-to-imap-server#connecting-with-imap-server&#34;&gt;Kết nối với máy chủ IMAP&lt;/a&gt; mô tả cách kết nối tới máy chủ IMAP trong bốn bước đơn giản:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Tạo một đối tượng của &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/&#34;&gt;ImapClient&lt;/a&gt; lớp.&lt;/li&gt;
&lt;li&gt;Xác định tên máy, tên người dùng và mật khẩu.&lt;/li&gt;
&lt;li&gt;Xác định cổng.&lt;/li&gt;
&lt;li&gt;Chỉ định các tùy chọn bảo mật.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Quá trình kết nối tới máy chủ IMAP hỗ trợ SSL tương tự nhưng yêu cầu bạn đặt một vài thuộc tính khác:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Thiết lập &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients/securityoptions/&#34;&gt;SecurityOptions&lt;/a&gt; đến SSLImplicit.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Đoạn mã sau cho thấy cách&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Đặt tên người dùng, mật khẩu và cổng.&lt;/li&gt;
&lt;li&gt;Đặt tùy chọn bảo mật.&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-csharp&#34; data-lang=&#34;csharp&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-.NET&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// Create an instance of the ImapClient class&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;ImapClient&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;client&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;ImapClient&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;imap.domain.com&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;993&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;user@domain.com&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;pwd&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// Set the security mode to implicit&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;client&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;SecurityOptions&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;SecurityOptions&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;SSLImplicit&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;cấu-hình-kết-nối-proxy&#34;&gt;&lt;strong&gt;Cấu Hình Kết Nối Proxy&lt;/strong&gt;&lt;/h2&gt;
&lt;h3 id=&#34;kết-nối-tới-máy-chủ-qua-proxy&#34;&gt;&lt;strong&gt;Kết nối tới Máy chủ qua Proxy&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Các máy chủ proxy thường được dùng để giao tiếp với bên ngoài. Trong các trường hợp như vậy, các khách hàng email không thể giao tiếp qua Internet nếu không chỉ định địa chỉ proxy. Aspose.Email hỗ trợ các phiên bản 4, 4a và 5 của giao thức proxy SOCKS. Bài viết này cung cấp một mẫu thực tế về cách truy cập hộp thư bằng máy chủ proxy. Để truy cập hộp thư qua máy chủ proxy:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Khởi tạo &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients/socksproxy/&#34;&gt;SocksProxy&lt;/a&gt; với thông tin cần thiết, bao gồm địa chỉ proxy, cổng và phiên bản SOCKS.&lt;/li&gt;
&lt;li&gt;Khởi tạo &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/&#34;&gt;ImapClient&lt;/a&gt; với địa chỉ host, tên người dùng, mật khẩu và bất kỳ cài đặt nào khác.&lt;/li&gt;
&lt;li&gt;Đặt &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients/socksproxy/&#34;&gt;SocksProxy&lt;/a&gt; thuộc tính của client thành &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients/socksproxy/&#34;&gt;SocksProxy&lt;/a&gt; đối tượng được tạo ở trên.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Đoạn mã sau cho bạn thấy cách truy xuất hộp thư qua máy chủ proxy.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-csharp&#34; data-lang=&#34;csharp&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-.NET&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// Connect and log in to IMAP and set SecurityOptions&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;ImapClient&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;client&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;ImapClient&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;imap.domain.com&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;username&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;password&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;client&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;SecurityOptions&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;SecurityOptions&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Auto&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kt&#34;&gt;string&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;proxyAddress&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;192.168.203.142&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;// proxy address&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kt&#34;&gt;int&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;proxyPort&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;1080&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;// proxy port&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;SocksProxy&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;proxy&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;SocksProxy&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;proxyAddress&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;proxyPort&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;SocksVersion&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;SocksV5&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// Set the proxy&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;client&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Proxy&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;proxy&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;           
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;try&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;client&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;SelectFolder&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;Inbox&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;catch&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Exception&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;ex&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;Console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;WriteLine&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ex&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Message&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;kết-nối-tới-máy-chủ-qua-http-proxy&#34;&gt;&lt;strong&gt;Kết nối tới máy chủ qua HTTP Proxy&lt;/strong&gt;&lt;/h3&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-csharp&#34; data-lang=&#34;csharp&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-.NET&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;HttpProxy&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;proxy&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;HttpProxy&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;18.222.124.59&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;8080&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;using&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ImapClient&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;client&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;ImapClient&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;imap.domain.com&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;username&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;password&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;client&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Proxy&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;proxy&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;client&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;SelectFolder&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;Inbox&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;kết-nối-chế-độ-chỉ-đọc&#34;&gt;&lt;strong&gt;Kết Nối Chế Độ Chỉ Đọc&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;Cái &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/&#34;&gt;ImapClient&lt;/a&gt; lớp cung cấp một &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/readonly/&#34;&gt;ReadOnly&lt;/a&gt; thuộc tính khi được đặt thành &lt;strong&gt;true&lt;/strong&gt;, chỉ ra rằng không nên thay đổi trạng thái cố định của hộp thư. Mẫu mã sau minh họa việc sử dụng &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/readonly/&#34;&gt;ImapClient.ReadOnly&lt;/a&gt; thuộc tính. Nó lấy số lượng tin nhắn chưa đọc, sau đó lấy một tin nhắn và lại lấy số lượng tin nhắn chưa đọc trong chế độ chỉ đọc. Số lượng tin nhắn chưa đọc vẫn giữ nguyên cho thấy trạng thái cố định của hộp thư không bị thay đổi.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-csharp&#34; data-lang=&#34;csharp&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-.NET&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;ImapClient&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;imapClient&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;ImapClient&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;imapClient&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Host&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;&amp;lt;HOST&amp;gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;imapClient&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Port&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;993&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;imapClient&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Username&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;&amp;lt;USERNAME&amp;gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;imapClient&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Password&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;&amp;lt;PASSWORD&amp;gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;imapClient&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;SupportedEncryption&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;EncryptionProtocols&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Tls&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;imapClient&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;SecurityOptions&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;SecurityOptions&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;SSLImplicit&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;ImapQueryBuilder&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;imapQueryBuilder&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;ImapQueryBuilder&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;imapQueryBuilder&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;HasNoFlags&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ImapMessageFlags&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;IsRead&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt; &lt;span class=&#34;cm&#34;&gt;/* get unread messages. */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;MailQuery&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;query&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;imapQueryBuilder&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;GetQuery&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;imapClient&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ReadOnly&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;imapClient&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;SelectFolder&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;Inbox&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;ImapMessageInfoCollection&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;messageInfoCol&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;imapClient&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ListMessages&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;query&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;Console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;WriteLine&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;Initial Unread Count: &amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;messageInfoCol&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Count&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;());&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;messageInfoCol&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Count&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;imapClient&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;FetchMessage&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;messageInfoCol&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;].&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;SequenceNumber&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;messageInfoCol&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;imapClient&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ListMessages&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;query&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;// This count will be equal to the initial count&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;Console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;WriteLine&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;Updated Unread Count: &amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;messageInfoCol&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Count&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;());&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;else&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;Console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;WriteLine&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;No unread messages found&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;cài-đặt-xác-thực-cram-md5&#34;&gt;&lt;strong&gt;Cài Đặt Xác Thực CRAM-MD5&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;Để xác thực an toàn và truy cập máy chủ email, Aspose.Email cho .NET cung cấp phương pháp xác thực CRAM-MD5. Đoạn mã sau sẽ cho bạn thấy cách nó hoạt động với ImapClient:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-cs&#34; data-lang=&#34;cs&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;imapClient&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;AllowedAuthentication&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;ImapKnownAuthenticationType&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;CramMD5&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;đặt-thời-gian-chờ-cho-các-thao-tác-imap&#34;&gt;&lt;strong&gt;Đặt Thời Gian Chờ cho Các Thao Tác IMAP&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;Mỗi thao tác mail mất một khoảng thời gian tùy thuộc vào nhiều yếu tố (độ trễ mạng, kích thước dữ liệu, hiệu suất máy chủ, v.v.). Bạn có thể đặt thời gian chờ cho tất cả các thao tác mail. Ví dụ mã dưới đây cho bạn thấy cách thực hiện điều đó bằng cách sử dụng &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients/emailclient/timeout/&#34;&gt;Thời gian chờ&lt;/a&gt; thuộc tính. Lưu ý: bạn không nên đặt giá trị quá lớn để tránh thời gian chờ lâu trong ứng dụng của bạn.&lt;/p&gt;
&lt;h3 id=&#34;cấu-hình-thời-gian-chờ-thao-tác&#34;&gt;&lt;strong&gt;Cấu Hình Thời Gian Chờ Thao Tác&lt;/strong&gt;&lt;/h3&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-csharp&#34; data-lang=&#34;csharp&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;using&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ImapClient&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;imapClient&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;ImapClient&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;host&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;993&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;username&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;password&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;SecurityOptions&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;SSLImplicit&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;imapClient&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Timeout&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;60000&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;// 60 seconds&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;// some code...&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;hạn-chế-thời-gian-chờ-lời-chào&#34;&gt;&lt;strong&gt;Hạn Chế Thời Gian Chờ Lời Chào&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Client IMAP có thể sử dụng chế độ tự động để thiết lập kết nối. Trong chế độ này, client IMAP sẽ thử tất cả các tham số kết nối khả dụng cho đến khi kết nối thành công. Máy chủ IMAP trong trường hợp kết nối đúng sẽ gửi một chuỗi chào tới client. Các máy chủ có thể sử dụng khởi tạo kết nối SSL/TLS ngầm định hoặc rõ ràng (START TLS). Nếu chế độ kết nối không khớp (ví dụ, máy chủ chờ kết nối SSL ngầm định nhưng client cố gắng thiết lập kết nối không bảo mật hoặc SSL rõ ràng), máy chủ sẽ không gửi chuỗi chào và người dùng sẽ phải chờ lâu cho tới khi hết thời gian chờ, và client sẽ chuyển sang tùy chọn kết nối tiếp theo. Để tránh vấn đề này, thuộc tính GreetingTimeout đã được giới thiệu. Thuộc tính này cho phép bạn đặt thời gian chờ cho chuỗi chào, và giảm thời gian thiết lập kết nối tự động.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-cs&#34; data-lang=&#34;cs&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;using&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ImapClient&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;client&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;ImapClient&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;localhost&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;993&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;username&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;password&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;client&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;GreetingTimeout&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;4000&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;client&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;SelectFolder&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ImapFolderInfo&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;InBox&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;sử-dụng-giao-thức-mã-hoá-với-imap&#34;&gt;&lt;strong&gt;Sử Dụng Giao Thức Mã Hoá với IMAP&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;Aspose.Email hỗ trợ các giao thức mã hóa SSL (cũ) và TLS để cung cấp bảo mật giao tiếp. Bạn có thể bật mã hóa mật mã để bảo vệ việc trao đổi dữ liệu giữa ứng dụng của mình và máy chủ mail.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;LƯU Ý:&lt;/em&gt;&lt;/strong&gt; Bạn chỉ nên đặt các phiên bản giao thức mà .NET Framework hỗ trợ. Nếu một số phiên bản của giao thức mã hóa không được phiên bản .NET Framework hiện tại của bạn hỗ trợ, chúng sẽ bị bỏ qua và không gây ra ngoại lệ. Vui lòng sử dụng &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients/emailclient/setsupportedencryptionunsafe/#setsupportedencryptionunsafe&#34;&gt;SetSupportedEncryptionUnsafe&lt;/a&gt; phương thức nếu bạn muốn đặt các giao thức mà không có kiểm tra tương thích nào.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Ví dụ mã dưới đây cho bạn cách thiết lập TLS 1.3 cho &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/&#34;&gt;ImapClient&lt;/a&gt; đối tượng lớp.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-csharp&#34; data-lang=&#34;csharp&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;using&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ImapClient&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;imapClient&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;ImapClient&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;host&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;993&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;username&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;password&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;SecurityOptions&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;SSLImplicit&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;imapClient&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;SupportedEncryption&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;EncryptionProtocols&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Tls13&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;// some code...&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Trong trường hợp giao thức mã hóa được chỉ định không được hỗ trợ trong phiên bản hiện tại của .NET Framework, sự khác biệt trong hành vi giữa &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients/emailclient/setsupportedencryptionunsafe/#setsupportedencryptionunsafe&#34;&gt;SetSupportedEncryptionUnsafe&lt;/a&gt; phương thức và &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients/emailclient/supportedencryption/&#34;&gt;SupportedEncryption&lt;/a&gt; thuộc tính như sau:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Nếu &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients/emailclient/supportedencryption/&#34;&gt;SupportedEncryption&lt;/a&gt; thuộc tính này được sử dụng, trình khách email hạ cấp giao thức mã hóa xuống mức hỗ trợ.&lt;/li&gt;
&lt;li&gt;Nếu &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients/emailclient/setsupportedencryptionunsafe/#setsupportedencryptionunsafe&#34;&gt;SetSupportedEncryptionUnsafe&lt;/a&gt; phương thức này được sử dụng, trình khách email sẽ ném ra ngoại lệ.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;sử-dụng-lệnh-imap-idle&#34;&gt;&lt;strong&gt;Sử Dụng Lệnh IMAP IDLE&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;API của Aspose.Email &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/&#34;&gt;ImapClient&lt;/a&gt; cung cấp khả năng mở kết nối tới máy chủ và chờ đợi sự xuất hiện của một tin nhắn email. Điều này cho phép tránh việc liên tục truy vấn máy chủ để kiểm tra email mới. Đoạn mã sau minh họa cách sử dụng thư viện Aspose.Email để giám sát hộp thư đến IMAP cho các tin nhắn mới và tin nhắn đã bị xóa, sau đó thực hiện các hành động cụ thể dựa trên các sự kiện này:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-csharp&#34; data-lang=&#34;csharp&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-.NET&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// Connect and log in to IMAP &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;ImapClient&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;client&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;ImapClient&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;imap.domain.com&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;username&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;password&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;ManualResetEvent&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;manualResetEvent&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;ManualResetEvent&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;kc&#34;&gt;false&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;ImapMonitoringEventArgs&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;eventArgs&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;null&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;client&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;StartMonitoring&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;delegate&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;object&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;sender&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;ImapMonitoringEventArgs&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;e&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;eventArgs&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;e&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;manualResetEvent&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Set&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;});&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;Thread&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Sleep&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;2000&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;SmtpClient&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;smtpClient&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;SmtpClient&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;exchange.aspose.com&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;username&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;password&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;smtpClient&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Send&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;MailMessage&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;from@aspose.com&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;to@aspose.com&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;EMAILNET-34875 - &amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Guid&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;NewGuid&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(),&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;EMAILNET-34875 Support for IMAP idle command&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;));&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;manualResetEvent&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;WaitOne&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;10000&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;manualResetEvent&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Reset&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;Console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;WriteLine&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;eventArgs&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;NewMessages&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Length&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;Console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;WriteLine&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;eventArgs&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;DeletedMessages&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Length&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;client&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;StopMonitoring&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;Inbox&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;smtpClient&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Send&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;MailMessage&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;from@aspose.com&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;to@aspose.com&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;EMAILNET-34875 - &amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Guid&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;NewGuid&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(),&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;EMAILNET-34875 Support for IMAP idle command&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;));&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;manualResetEvent&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;WaitOne&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;5000&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Mẫu mã sau cho thấy cách thiết lập giám sát &lt;strong&gt;bất đồng bộ&lt;/strong&gt; cho các tin nhắn email mới:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-csharp&#34; data-lang=&#34;csharp&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kt&#34;&gt;var&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;client&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;ImapClient&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;imap.domain.com&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;username&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;password&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;//anySuccess is a flag to prevent infinite Client.ResumeMonitoring calls&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kt&#34;&gt;var&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;anySuccess&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;false&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;await&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;client&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;StartMonitoringAsync&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;OnNewMessagesCallback&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;OnErrorCallback&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;void&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;OnErrorCallback&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;object&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;eventSender&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;ImapMonitoringErrorEventArgs&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;errorEventArguments&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;//The exception can be handled here&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;Logger&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Debug&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Write&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;s&#34;&gt;$&amp;#34;An error occured while folder monitoring: {errorEventArguments.FolderName}&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;errorEventArguments&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Error&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;//IMAP folder monitoring is stopped on any error. Here is an example&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;//of resuming after that.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(!&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;anySuccess&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;anySuccess&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;false&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;//Make sure you use ResumeMonitoring instead of StartMonitoring here&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;//to prevent missing any emails between the error handling and resuming.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;client&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ResumeMonitoring&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;OnNewMessagesCallback&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;OnErrorCallback&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;errorEventArguments&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;MonitoringState&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;void&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;OnNewMessagesCallback&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;object&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;sender&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;ImapMonitoringEventArgs&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;successEventArgs&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;anySuccess&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;//Use successEventArgs.NewMessages to handle new messages&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;//Use successEventArgs.DeletedMessages to handle deleted messages&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;hỗ-trợ-các-tiện-ích-mở-rộng-imap&#34;&gt;&lt;strong&gt;Hỗ trợ các Tiện ích mở rộng IMAP&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;API Aspose.Email cung cấp hỗ trợ cho các tiện ích mở rộng IMAP. Các tiện ích mở rộng IMAP sau hiện đang được API hỗ trợ. Những tiện ích mở rộng này không được tất cả máy chủ hỗ trợ.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-csharp&#34; data-lang=&#34;csharp&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-.NET&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;using&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ImapClient&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;client&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;ImapClient&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;imap.gmail.com&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;993&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;username&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;password&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;// Set SecurityOptions&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;client&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;SecurityOptions&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;SecurityOptions&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Auto&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;Console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;WriteLine&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;client&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;IdSupported&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ToString&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;());&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;ImapIdentificationInfo&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;serverIdentificationInfo1&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;client&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;IntroduceClient&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;ImapIdentificationInfo&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;serverIdentificationInfo2&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;client&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;IntroduceClient&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ImapIdentificationInfo&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;DefaultValue&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;// Display ImapIdentificationInfo properties&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;Console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;WriteLine&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;serverIdentificationInfo1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ToString&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(),&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;serverIdentificationInfo2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;Console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;WriteLine&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;serverIdentificationInfo1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;Console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;WriteLine&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;serverIdentificationInfo1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Vendor&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;Console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;WriteLine&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;serverIdentificationInfo1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;SupportUrl&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;Console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;WriteLine&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;serverIdentificationInfo1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Version&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;lệnh-danh-sách-mở-rộng-imap4&#34;&gt;&lt;strong&gt;Lệnh Danh sách Mở rộng IMAP4&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Đoạn mã dưới đây cho bạn thấy cách sử dụng lệnh danh sách mở rộng IMAP4.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-csharp&#34; data-lang=&#34;csharp&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-.NET&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;using&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ImapClient&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;client&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;ImapClient&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;imap.gmail.com&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;993&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;username&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;password&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;ImapFolderInfoCollection&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;folderInfoCol&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;client&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ListFolders&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;*&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;Console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;WriteLine&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;Extended List Supported: &amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;client&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ExtendedListSupported&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;foreach&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ImapFolderInfo&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;folderInfo&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;folderInfoCol&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;k&#34;&gt;switch&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;folderInfo&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;case&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;[Gmail]/All Mail&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                &lt;span class=&#34;n&#34;&gt;Console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;WriteLine&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;Has Children: &amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;folderInfo&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;HasChildren&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                &lt;span class=&#34;k&#34;&gt;break&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;case&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;[Gmail]/Bin&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                &lt;span class=&#34;n&#34;&gt;Console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;WriteLine&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;Bin has children? &amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;folderInfo&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;HasChildren&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                &lt;span class=&#34;k&#34;&gt;break&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;case&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;[Gmail]/Drafts&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                &lt;span class=&#34;n&#34;&gt;Console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;WriteLine&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;Drafts has children? &amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;folderInfo&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;HasChildren&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                &lt;span class=&#34;k&#34;&gt;break&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;case&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;[Gmail]/Important&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                &lt;span class=&#34;n&#34;&gt;Console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;WriteLine&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;Important has Children? &amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;folderInfo&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;HasChildren&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                &lt;span class=&#34;k&#34;&gt;break&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;case&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;[Gmail]/Sent Mail&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                &lt;span class=&#34;n&#34;&gt;Console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;WriteLine&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;Sent Mail has Children? &amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;folderInfo&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;HasChildren&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                &lt;span class=&#34;k&#34;&gt;break&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;case&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;[Gmail]/Spam&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                &lt;span class=&#34;n&#34;&gt;Console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;WriteLine&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;Spam has Children? &amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;folderInfo&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;HasChildren&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                &lt;span class=&#34;k&#34;&gt;break&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;case&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;[Gmail]/Starred&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                &lt;span class=&#34;n&#34;&gt;Console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;WriteLine&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;Starred has Children? &amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;folderInfo&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;HasChildren&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                &lt;span class=&#34;k&#34;&gt;break&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
      </description>
    </item>
    
    <item>
      <title>Net: Quản Lý Tin Nhắn trên Máy Chủ IMAP</title>
      <link>/email/vi/net/managing-messages-on-imap-server/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/email/vi/net/managing-messages-on-imap-server/</guid>
      <description>
        
        
        &lt;h2 id=&#34;lấy-và-liệt-kê-tin-nhắn&#34;&gt;&lt;strong&gt;Lấy và Liệt Kê Tin Nhắn&lt;/strong&gt;&lt;/h2&gt;
&lt;h3 id=&#34;cách-lấy-thông-tin-định-danh-cho-tin-nhắn-trong-hộp-thư&#34;&gt;&lt;strong&gt;Cách Lấy Thông Tin Định Danh cho Tin Nhắn trong Hộp Thư&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Khi lấy và xử lý các tin nhắn email, bạn có thể nhận thông tin định danh chi tiết, như số thứ tự và ID duy nhất, bằng cách sử dụng các tính năng sau do phiên bản mới nhất của Aspose.Email cho .NET cung cấp:&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapmessageinfo/#imapmessageinfo-class&#34;&gt;Aspose.Email.ImapMessageInfo&lt;/a&gt; lớp: Đại diện cho thông tin định danh về một tin nhắn trong hộp thư IMAP.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapmessageinfo/sequencenumber/&#34;&gt;ImapMessageInfo.SequenceNumber&lt;/a&gt; thuộc tính: Lấy số thứ tự của tin nhắn.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapmessageinfo/uniqueid/&#34;&gt;ImapMessageInfo.UniqueId&lt;/a&gt; thuộc tính: Lấy định danh duy nhất của tin nhắn.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email/mailmessage/itemid/&#34;&gt;Aspose.Email.MailMessage.ItemId&lt;/a&gt; thuộc tính: Đại diện cho thông tin định danh bổ sung về tin nhắn trong hộp thư.&lt;/p&gt;
&lt;p&gt;Đoạn mã sau minh họa cách lấy thông tin định danh cho các tin nhắn trong hộp thư IMAP:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Tạo một đối tượng của &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/&#34;&gt;ImapClient&lt;/a&gt; lớp bằng cách cung cấp các tham số cần thiết như máy chủ IMAP, cổng, địa chỉ email, mật khẩu và tùy chọn bảo mật.&lt;/li&gt;
&lt;li&gt;Sử dụng &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/listmessages/#listmessages_20&#34;&gt;ListMessages&lt;/a&gt; phương thức để lấy danh sách tin nhắn từ thư mục &amp;quot;INBOX&amp;quot;. Giới hạn danh sách tới năm tin nhắn đầu tiên bằng phương thức Take(5).&lt;/li&gt;
&lt;li&gt;Trích xuất các số thứ tự của các tin nhắn đã liệt kê bằng cách sử dụng &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapmessageinfo/sequencenumber/&#34;&gt;SequenceNumber&lt;/a&gt; thuộc tính của mỗi tin nhắn.&lt;/li&gt;
&lt;li&gt;Sử dụng &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/fetchmessages/#fetchmessages_2&#34;&gt;FetchMessages&lt;/a&gt; phương thức để lấy chi tiết đầy đủ của các tin nhắn từ máy chủ, sử dụng các số thứ tự đã thu được ở bước trước.&lt;/li&gt;
&lt;li&gt;Duyệt qua các tin nhắn đã lấy và với mỗi tin nhắn, lấy và hiển thị thông tin sau:&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;Số thứ tự của tin nhắn.&lt;/li&gt;
&lt;li&gt;Thuộc tính ItemId.SequenceNumber.&lt;/li&gt;
&lt;li&gt;Tiêu đề của tin nhắn.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-cs&#34; data-lang=&#34;cs&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;using&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;var&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;client&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;ImapClient&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;imapHost&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;port&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;emailAddress&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;password&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;securityOption&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;// List the first 5 messages from the inbox&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;kt&#34;&gt;var&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;msgs&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;client&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ListMessages&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;INBOX&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;).&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Take&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;5&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;// Get sequence numbers of the messages&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;kt&#34;&gt;var&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;seqIds&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;msgs&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Select&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;t&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;t&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;SequenceNumber&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;// Fetch messages based on sequence numbers&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;kt&#34;&gt;var&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;msgsViaFetch&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;client&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;FetchMessages&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;seqIds&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;var&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;i&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;i&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;5&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;i&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;++)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;kt&#34;&gt;var&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;thisMsg&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;msgsViaFetch&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;i&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;];&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;Console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;WriteLine&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;$&amp;#34;Message ID: {seqIds.ElementAt(i)} SequenceNumber: {thisMsg.ItemId.SequenceNumber} Subject: {thisMsg.Subject}&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;liệt-kê-id-tin-nhắn-mime-từ-máy-chủ&#34;&gt;&lt;strong&gt;Liệt Kê ID Tin Nhắn MIME Từ Máy Chủ&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapmessageinfo/&#34;&gt;ImapMessageInfo&lt;/a&gt; cung cấp MIME &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients/messageinfobase/messageid/&#34;&gt;MessageId&lt;/a&gt; để xác định tin nhắn mà không cần trích xuất toàn bộ tin nhắn. Đoạn mã sau cho bạn thấy cách liệt kê MIME messageId.&lt;/p&gt;
&lt;script src=&#34;https://gist.github.com/aspose-com-gists/6e5185a63aec6fd70d83098e82b06a32.js?file=Examples-CSharp-IMAP-ListingMIMEMessageIdInImapMessageInfo-ListingMIMEMessageIdInImapMessageInfo.cs&#34;&gt;&lt;/script&gt;

&lt;h3 id=&#34;liệt-kê-tin-nhắn-từ-máy-chủ&#34;&gt;&lt;strong&gt;Liệt kê Tin nhắn từ Máy chủ&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Aspose.Email cung cấp một phiên bản overload 2 thành phần của &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/listmessages/#listmessages_12&#34;&gt;ListMessages()&lt;/a&gt; để lấy một số lượng tin nhắn xác định dựa trên truy vấn. Đoạn mã sau cho bạn thấy cách liệt kê Tin Nhắn.&lt;/p&gt;
&lt;script src=&#34;https://gist.github.com/aspose-com-gists/6e5185a63aec6fd70d83098e82b06a32.js?file=Examples-CSharp-ListMessagesWithMaximumNumberOfMessages-ListMessagesWithMaximumNumberOfMessages.cs&#34;&gt;&lt;/script&gt;

&lt;h3 id=&#34;liệt-kê-tin-nhắn-đệ-quy&#34;&gt;&lt;strong&gt;Liệt kê Tin nhắn Đệ quy&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Giao thức IMAP hỗ trợ việc liệt kê tin nhắn đệ quy từ một thư mục hộp thư. Điều này cũng giúp liệt kê tin nhắn từ các thư mục con. Đoạn mã sau cho bạn thấy cách liệt kê tin nhắn một cách đệ quy.&lt;/p&gt;
&lt;script src=&#34;https://gist.github.com/aspose-com-gists/6e5185a63aec6fd70d83098e82b06a32.js?file=Examples-CSharp-IMAP-ListingMessagesRecursively-ListingMessagesRecursively.cs&#34;&gt;&lt;/script&gt;

&lt;h3 id=&#34;liệt-kê-tin-nhắn-với-multiconnection&#34;&gt;&lt;strong&gt;Liệt kê Tin nhắn với MultiConnection&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/&#34;&gt;ImapClient&lt;/a&gt; cung cấp một &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients/emailclient/usemulticonnection/&#34;&gt;UseMultiConnection&lt;/a&gt; thuộc tính có thể được sử dụng để tạo nhiều kết nối cho các thao tác nặng. Bạn cũng có thể đặt số lượng kết nối sẽ được sử dụng trong chế độ đa kết nối bằng cách sử dụng &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients/emailclient/connectionsquantity/&#34;&gt;ImapClient.ConnectionsQuantity&lt;/a&gt;. Đoạn mã sau minh họa việc sử dụng chế độ đa kết nối để liệt kê tin nhắn và so sánh hiệu năng của nó với chế độ kết nối đơn.&lt;/p&gt;
&lt;script src=&#34;https://gist.github.com/aspose-com-gists/522d47278b8ca448dc1d7eb97193322c.js?file=Examples-CSharp-IMAP-ImapListMessagesWithMultiConnection-1.cs&#34;&gt;&lt;/script&gt;



&lt;div class=&#34;alert alert-primary&#34; role=&#34;alert&#34;&gt;

Xin lưu ý rằng việc sử dụng chế độ đa kết nối không đảm bảo tăng hiệu suất.
&lt;/div&gt;

&lt;h3 id=&#34;liệt-kê-tin-nhắn-với-hỗ-trợ-phân-trang&#34;&gt;&lt;strong&gt;Liệt kê Tin nhắn với Hỗ trợ Phân trang&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Trong các trường hợp, khi máy chủ email chứa một số lượng lớn tin nhắn trong hộp thư, thường cần liệt kê hoặc truy xuất các tin nhắn với hỗ trợ phân trang. API của Aspose.Email &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/&#34;&gt;ImapClient&lt;/a&gt; cho phép bạn lấy các tin nhắn từ máy chủ với hỗ trợ phân trang.&lt;/p&gt;
&lt;script src=&#34;https://gist.github.com/aspose-com-gists/6e5185a63aec6fd70d83098e82b06a32.js?file=Examples-CSharp-IMAP-ListingMessagesWithPagingSupport-ListingMessagesWithPagingSupport.cs&#34;&gt;&lt;/script&gt;

&lt;h3 id=&#34;liệt-kê-tệp-đính-kèm-tin-nhắn&#34;&gt;&lt;strong&gt;Liệt kê Tệp Đính Kèm Tin Nhắn&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Để lấy thông tin về các tệp đính kèm như tên, kích thước mà không cần tải dữ liệu tệp đính kèm, hãy thử các API sau:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Aspose.Email.Clients.Imap.ImapAttachmentInfo&lt;/em&gt; - Đại diện cho thông tin tệp đính kèm.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Aspose.Email.Clients.Imap.ImapAttachmentInfoCollection&lt;/em&gt; - Đại diện cho một tập hợp của &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapattachmentinfo/&#34;&gt;ImapAttachmentInfo&lt;/a&gt; lớp.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Aspose.Email.Clients.Imap.ListAttachments(int sequenceNumber)&lt;/em&gt; - Lấy thông tin cho mỗi tệp đính kèm trong một tin nhắn.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Đoạn mã mẫu với các bước dưới đây sẽ cho bạn thấy cách sử dụng các API:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Gọi &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/listmessages/&#34;&gt;ListMessages()&lt;/a&gt; phương thức trên đối tượng imapClient. Phương thức này sẽ trả về một ImapMessageInfoCollection chứa thông tin về các tin nhắn trong hộp thư.&lt;/li&gt;
&lt;li&gt;Duyệt qua từng tin nhắn trong messageInfoCollection bằng vòng lặp foreach.&lt;/li&gt;
&lt;li&gt;Gọi &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/listattachments/#imapclientlistattachments-method&#34;&gt;ListAttachments()&lt;/a&gt; phương thức trên đối tượng imapClient, truyền thuộc tính SequenceNumber của đối tượng message làm tham số. Phương thức này sẽ trả về một ImapAttachmentInfoCollection chứa thông tin về các tệp đính kèm trong tin nhắn.&lt;/li&gt;
&lt;li&gt;Duyệt qua từng tệp đính kèm trong attachmentInfoCollection bằng vòng lặp foreach.&lt;/li&gt;
&lt;li&gt;Trong vòng lặp bên trong, bạn có thể truy cập thông tin về mỗi tệp đính kèm bằng cách sử dụng các thuộc tính của đối tượng attachmentInfo.&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-cs&#34; data-lang=&#34;cs&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kt&#34;&gt;var&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;messageInfoCollection&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;imapClient&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ListMessages&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;foreach&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;var&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;message&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;messageInfoCollection&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;kt&#34;&gt;var&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;attachmentInfoCollection&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;imapClient&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ListAttachments&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;message&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;SequenceNumber&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;foreach&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;var&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;attachmentInfo&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;attachmentInfoCollection&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;Console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;WriteLine&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;Attachment: {0} (size: {1})&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;attachmentInfo&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;attachmentInfo&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Size&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;lấy-và-lưu-tin-nhắn&#34;&gt;&lt;strong&gt;Lấy và Lưu Tin nhắn&lt;/strong&gt;&lt;/h2&gt;
&lt;h3 id=&#34;lấy-tin-nhắn-từ-máy-chủ&#34;&gt;&lt;strong&gt;Lấy Tin nhắn từ Máy chủ&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Cái &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/&#34;&gt;ImapClient&lt;/a&gt; lớp có thể lấy tin nhắn từ máy chủ IMAP và lưu chúng ở định dạng EML lên đĩa cục bộ. Các bước sau đây cần thực hiện để lưu tin nhắn lên đĩa:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Tạo một đối tượng của &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/&#34;&gt;ImapClient&lt;/a&gt; lớp.&lt;/li&gt;
&lt;li&gt;Xác định hostname, cổng, tên người dùng và mật khẩu trong ImapClient &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/imapclient/#constructor&#34;&gt;constructor&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Chọn thư mục bằng cách sử dụng &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/selectfolder/#selectfolder/&#34;&gt;SelectFolder()&lt;/a&gt; phương thức.&lt;/li&gt;
&lt;li&gt;Gọi &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/listmessages/#listmessages&#34;&gt;ListMessages&lt;/a&gt; phương thức để lấy &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapmessageinfocollection/&#34;&gt;ImapMessageInfoCollection&lt;/a&gt; đối tượng.&lt;/li&gt;
&lt;li&gt;Lặp qua &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapmessageinfocollection/&#34;&gt;ImapMessageInfoCollection&lt;/a&gt; bộ sưu tập, gọi &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/savemessage/#savemessage/&#34;&gt;SaveMessage()&lt;/a&gt; phương thức và cung cấp đường dẫn đầu ra cùng tên tệp.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Đoạn mã sau đây cho bạn thấy cách lấy các tin nhắn email từ máy chủ và lưu chúng.&lt;/p&gt;
&lt;script src=&#34;https://gist.github.com/aspose-com-gists/6e5185a63aec6fd70d83098e82b06a32.js?file=Examples-CSharp-IMAP-FetchEmailMessagesFromIMAPServer-FetchEmailMessagesFromIMAPServer.cs&#34;&gt;&lt;/script&gt;

&lt;h3 id=&#34;lấy-tin-nhắn-theo-thứ-tự-giảm-dần&#34;&gt;&lt;strong&gt;Lấy Tin Nhắn theo Thứ Tự Giảm Dần&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Aspose.Email cung cấp &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/listmessagesbypage/#listmessagesbypage/&#34;&gt;ImapClient.ListMessagesByPage&lt;/a&gt; phương thức liệt kê tin nhắn có hỗ trợ phân trang. Một số overload của &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/listmessagesbypage/#listmessagesbypage/&#34;&gt;ImapClient.ListMessagesByPage&lt;/a&gt; chấp nhận &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/pagesettings/&#34;&gt;PageSettings&lt;/a&gt; như một tham số. &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/pagesettings/&#34;&gt;PageSettings&lt;/a&gt; cung cấp một &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/pagesettings/ascendingsorting/&#34;&gt;AscendingSorting&lt;/a&gt; thuộc tính mà khi được đặt thành &lt;strong&gt;false&lt;/strong&gt;, sẽ trả về email theo thứ tự giảm dần.&lt;/p&gt;
&lt;p&gt;Mã ví dụ sau đây minh họa cách sử dụng &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/pagesettings/ascendingsorting/&#34;&gt;AscendingSorting&lt;/a&gt; thuộc tính của &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/pagesettings/&#34;&gt;PageSettings&lt;/a&gt; lớp để thay đổi thứ tự của email.&lt;/p&gt;
&lt;script src=&#34;https://gist.github.com/aspose-com-gists/522d47278b8ca448dc1d7eb97193322c.js?file=Examples-CSharp-IMAP-ChangeOrderOfEmails-1.cs&#34;&gt;&lt;/script&gt;

&lt;h3 id=&#34;lưu-tin-nhắn-ở-định-dạng-msg&#34;&gt;&lt;strong&gt;Lưu tin nhắn ở định dạng MSG&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Để lưu email ở định dạng MSG, &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/fetchmessage/#fetchmessage/&#34;&gt;ImapClient.FetchMessage()&lt;/a&gt; phương thức cần được gọi. Nó trả về tin nhắn dưới dạng một thể hiện của &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email/mailmessage/&#34;&gt;MailMessage&lt;/a&gt; lớp.  &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email/mailmessage/save/#save/&#34;&gt;MailMessage.Save()&lt;/a&gt; phương thức sau đó có thể được gọi để lưu tin nhắn thành MSG. Đoạn mã sau đây cho bạn thấy cách lưu tin nhắn ở định dạng MSG.&lt;/p&gt;
&lt;script src=&#34;https://gist.github.com/aspose-com-gists/6e5185a63aec6fd70d83098e82b06a32.js?file=Examples-CSharp-IMAP-SavingMessagesFromIMAPServer-SavingMessagesFromIMAPServer.cs&#34;&gt;&lt;/script&gt;

&lt;h3 id=&#34;nhóm-các-tin-nhắn-đã-lấy&#34;&gt;&lt;strong&gt;Nhóm Các Tin Nhắn Đã Lấy&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/&#34;&gt;ImapClient&lt;/a&gt; cung cấp một &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/fetchmessages/#fetchmessages/&#34;&gt;FetchMessages&lt;/a&gt; phương thức nhận một iterable của Số thứ tự hoặc ID duy nhất và trả về một danh sách của &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email/mailmessage/&#34;&gt;MailMessage&lt;/a&gt;. Đoạn mã sau minh họa việc sử dụng &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/fetchmessages/#fetchmessages/&#34;&gt;FetchMessages&lt;/a&gt; phương thức để lấy tin nhắn bằng Số thứ tự và ID duy nhất.&lt;/p&gt;
&lt;script src=&#34;https://gist.github.com/aspose-com-gists/522d47278b8ca448dc1d7eb97193322c.js?file=Examples-CSharp-IMAP-ImapFetchGroupMessages-1.cs&#34;&gt;&lt;/script&gt;

&lt;h3 id=&#34;lấy-thư-mục-và-đọc-tin-nhắn-đệ-quy&#34;&gt;&lt;strong&gt;Lấy Thư Mục và Đọc Tin Nhắn Đệ Quy&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Trong bài viết này, phần lớn các &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/&#34;&gt;ImapClient&lt;/a&gt; các tính năng được sử dụng để tạo một ứng dụng liệt kê tất cả các thư mục và thư mục con một cách đệ quy từ máy chủ IMAP. Nó cũng lưu các tin nhắn trong mỗi thư mục và thư mục con ở định dạng MSG trên ổ đĩa cục bộ. Trên đĩa, các thư mục và tin nhắn được tạo và lưu trong cùng cấu trúc phân cấp như trên máy chủ IMAP. Đoạn mã dưới đây cho bạn thấy cách lấy thông tin các tin nhắn và thư mục con một cách đệ quy.&lt;/p&gt;
&lt;script src=&#34;https://gist.github.com/aspose-com-gists/6e5185a63aec6fd70d83098e82b06a32.js?file=Examples-CSharp-IMAP-ReadMessagesRecursively-ReadMessagesRecursively.cs&#34;&gt;&lt;/script&gt;

&lt;h2 id=&#34;xử-lý-thông-tin-tin-nhắn-đặc-biệt&#34;&gt;&lt;strong&gt;Xử lý Thông tin Tin nhắn Đặc biệt&lt;/strong&gt;&lt;/h2&gt;
&lt;h3 id=&#34;truy-xuất-các-tham-số-bổ-sung-dưới-dạng-thông-tin-tóm-tắt&#34;&gt;&lt;strong&gt;Truy xuất các Tham số Bổ sung dưới dạng Thông tin Tóm tắt&lt;/strong&gt;&lt;/h3&gt;
&lt;script src=&#34;https://gist.github.com/aspose-com-gists/6e5185a63aec6fd70d83098e82b06a32.js?file=Examples-CSharp-IMAP-RetrieveExtraParameters-RetrieveExtraParametersAsSummaryInformation.cs&#34;&gt;&lt;/script&gt;

&lt;h3 id=&#34;lấy-thông-tin-header-list-unsubscribe&#34;&gt;&lt;strong&gt;Lấy Thông tin Header List-Unsubscribe&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Tiêu đề List-Unsubscribe chứa URL để hủy đăng ký các danh sách email như quảng cáo, bản tin, v.v. Để lấy tiêu đề List-Unsubscribe, sử dụng &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients/messageinfobase/listunsubscribe/&#34;&gt;ListUnsubscribe&lt;/a&gt; thuộc tính của &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapmessageinfo/&#34;&gt;ImapMessageInfo&lt;/a&gt; lớp. Ví dụ sau đây cho thấy cách sử dụng &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients/messageinfobase/listunsubscribe/&#34;&gt;ListUnsubscribe&lt;/a&gt; thuộc tính để lấy tiêu đề List-Unsubscribe.&lt;/p&gt;
&lt;script src=&#34;https://gist.github.com/aspose-com-gists/522d47278b8ca448dc1d7eb97193322c.js?file=Examples-CSharp-IMAP-GetListUnsubscribeHeader-1.cs&#34;&gt;&lt;/script&gt;


      </description>
    </item>
    
    <item>
      <title>Net: Lọc Tin Nhắn từ Máy Chủ IMAP trong C#</title>
      <link>/email/vi/net/filter-messages-from-imap-server/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/email/vi/net/filter-messages-from-imap-server/</guid>
      <description>
        
        
        &lt;h2 id=&#34;lọc-tin-nhắn-cơ-bản&#34;&gt;&lt;strong&gt;Lọc Tin Nhắn Cơ Bản&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;Cái &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/&#34;&gt;ImapClient&lt;/a&gt; class cung cấp &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/listmessages/#listmessages&#34;&gt;ListMessages()&lt;/a&gt; phương thức lấy tất cả các tin nhắn từ một hộp thư. Để chỉ lấy các tin nhắn phù hợp với một số điều kiện, sử dụng phiên bản quá tải của &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/listmessages/#listmessages&#34;&gt;ListMessages()&lt;/a&gt; phương thức nhận &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.tools.search/mailquery/&#34;&gt;MailQuery&lt;/a&gt; được truyền làm đối số. Các &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.tools.search/mailquery/&#34;&gt;MailQuery&lt;/a&gt; lớp cung cấp nhiều thuộc tính để xác định các điều kiện, chẳng hạn như ngày, tiêu đề, người gửi, người nhận v.v. Ví dụ đầu tiên minh họa cách lọc tin nhắn dựa trên ngày và tiêu đề. Chúng tôi cũng cho thấy cách lọc theo các tiêu chí khác và cách xây dựng các truy vấn phức tạp hơn. API cũng cung cấp khả năng áp dụng tiêu chí tìm kiếm phân biệt hoa thường để khớp chính xác tiêu chí lọc. API cũng cho phép chỉ định mã hoá chuỗi tìm kiếm để lọc tin nhắn từ hộp thư.&lt;/p&gt;
&lt;h3 id=&#34;lọc-tin-nhắn-từ-hộp-thư&#34;&gt;&lt;strong&gt;Lọc tin nhắn từ hộp thư&lt;/strong&gt;&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&#34;/email/net/connecting-to-imap-server/#connecting-with-imap-server&#34;&gt;Kết nối và đăng nhập vào máy chủ IMAP&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Tạo một đối tượng của &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.tools.search/mailquery/&#34;&gt;MailQuery&lt;/a&gt; và đặt các thuộc tính&lt;/li&gt;
&lt;li&gt;Gọi &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/listmessages/#listmessages_14&#34;&gt;ImapClient.ListMessages(MailQuery query)&lt;/a&gt; phương thức và truyền vào &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.tools.search/mailquery/&#34;&gt;MailQuery&lt;/a&gt; với các tham số để chỉ nhận các tin nhắn đã lọc.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Đoạn mã sau cho bạn thấy cách kết nối tới hộp thư IMAP và nhận các tin nhắn đến hôm nay và có từ &amp;quot;newsletter&amp;quot; trong tiêu đề.&lt;/p&gt;
&lt;script src=&#34;https://gist.github.com/aspose-com-gists/6e5185a63aec6fd70d83098e82b06a32.js?file=Examples-CSharp-IMAP-FilteringMessagesFromIMAPMailbox-FilteringMessagesFromIMAPMailbox.cs&#34;&gt;&lt;/script&gt;

&lt;h3 id=&#34;lọc-tin-nhắn-theo-tiêu-chí-cụ-thể&#34;&gt;&lt;strong&gt;Lọc Tin Nhắn Theo Tiêu Chí Cụ Thể&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&#34;/email/vi/net/filter-messages-from-imap-server/#filtering-messages-from-mailbox&#34;&gt;Các mẫu mã ở trên&lt;/a&gt; lọc tin nhắn dựa trên tiêu đề email và ngày. Chúng ta cũng có thể sử dụng các thuộc tính khác để đặt các điều kiện hỗ trợ khác. Dưới đây là một số ví dụ về việc thiết lập các điều kiện bằng cách sử dụng &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.tools.search/mailquery/&#34;&gt;MailQuery&lt;/a&gt;. Các đoạn mã sau đây cho thấy cách lọc email trên:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Ngày hôm nay.&lt;/li&gt;
&lt;li&gt;Một khoảng thời gian.&lt;/li&gt;
&lt;li&gt;Từ người gửi cụ thể.&lt;/li&gt;
&lt;li&gt;Từ miền cụ thể.&lt;/li&gt;
&lt;li&gt;Từ người nhận cụ thể.&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;ngày-hôm-nay&#34;&gt;&lt;strong&gt;Ngày hôm nay&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;Đoạn mã sau cho bạn thấy cách lọc email dựa trên Ngày hôm nay.&lt;/p&gt;
&lt;script src=&#34;https://gist.github.com/aspose-com-gists/6e5185a63aec6fd70d83098e82b06a32.js?file=Examples-CSharp-IMAP-GetMessagesWithSpecificCriteria-GetEmailsWithTodayDate.cs&#34;&gt;&lt;/script&gt;

&lt;h4 id=&#34;khoảng-ngày&#34;&gt;&lt;strong&gt;Khoảng ngày&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;Đoạn mã sau cho bạn thấy cách lọc email theo khoảng thời gian.&lt;/p&gt;
&lt;script src=&#34;https://gist.github.com/aspose-com-gists/6e5185a63aec6fd70d83098e82b06a32.js?file=Examples-CSharp-IMAP-GetMessagesWithSpecificCriteria-GetEmailsOverDateRange.cs&#34;&gt;&lt;/script&gt;

&lt;h4 id=&#34;người-gửi-cụ-thể&#34;&gt;&lt;strong&gt;Người gửi cụ thể&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;Đoạn mã sau cho bạn thấy cách lọc email dựa trên người gửi cụ thể.&lt;/p&gt;
&lt;script src=&#34;https://gist.github.com/aspose-com-gists/6e5185a63aec6fd70d83098e82b06a32.js?file=Examples-CSharp-IMAP-GetMessagesWithSpecificCriteria-GetSpecificSenderEmails.cs&#34;&gt;&lt;/script&gt;

&lt;h4 id=&#34;miền-cụ-thể&#34;&gt;&lt;strong&gt;Miền cụ thể&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;Đoạn mã sau cho bạn thấy cách lọc email dựa trên miền cụ thể.&lt;/p&gt;
&lt;script src=&#34;https://gist.github.com/aspose-com-gists/6e5185a63aec6fd70d83098e82b06a32.js?file=Examples-CSharp-IMAP-GetMessagesWithSpecificCriteria-GetSpecificDomainEmails.cs&#34;&gt;&lt;/script&gt;

&lt;h4 id=&#34;người-nhận-cụ-thể&#34;&gt;&lt;strong&gt;Người nhận cụ thể&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;Đoạn mã sau cho bạn thấy cách lọc email dựa trên người nhận cụ thể.&lt;/p&gt;
&lt;script src=&#34;https://gist.github.com/aspose-com-gists/6e5185a63aec6fd70d83098e82b06a32.js?file=Examples-CSharp-IMAP-GetMessagesWithSpecificCriteria-GetSpecificRecipientEmails.cs&#34;&gt;&lt;/script&gt;

&lt;h2 id=&#34;xây-dựng-truy-vấn-nâng-cao&#34;&gt;&lt;strong&gt;Xây Dựng Truy Vấn Nâng Cao&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;Nếu khác &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.tools.search/mailquerybuilder/&#34;&gt;MailQueryBuilder&lt;/a&gt; các thuộc tính được đặt trong các câu lệnh riêng biệt, sau đó mọi điều kiện sẽ được khớp. Ví dụ, nếu chúng ta muốn lấy tin nhắn trong một khoảng thời gian và từ một máy chủ cụ thể, chúng ta cần viết ba câu lệnh.&lt;/p&gt;
&lt;h3 id=&#34;kết-hợp-truy-vấn-với-and&#34;&gt;&lt;strong&gt;Kết hợp Truy vấn với AND&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Đoạn mã sau cho bạn thấy cách kết hợp các truy vấn bằng AND.&lt;/p&gt;
&lt;script src=&#34;https://gist.github.com/aspose-com-gists/6e5185a63aec6fd70d83098e82b06a32.js?file=Examples-CSharp-IMAP-BuildingComplexQueries-CombineQueriesWithAND.cs&#34;&gt;&lt;/script&gt;

&lt;h3 id=&#34;kết-hợp-truy-vấn-với-or&#34;&gt;&lt;strong&gt;Kết hợp Truy vấn với OR&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.tools.search/mailquerybuilder/&#34;&gt;MailQueryBuilder&lt;/a&gt; cung cấp &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.tools.search/mailquerybuilder/or/#or&#34;&gt;Or()&lt;/a&gt; phương thức nhận hai &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.tools.search/mailquery/&#34;&gt;MailQuery&lt;/a&gt; các thể hiện như tham số. Nó nhận các tin nhắn phù hợp với bất kỳ một trong hai điều kiện được chỉ định. Đoạn mã dưới đây cho thấy cách lọc tin nhắn mà có “test” trong tiêu đề hoặc “noreply@host.com” là người gửi. Đoạn mã sau cho bạn thấy cách kết hợp các truy vấn bằng OR.&lt;/p&gt;
&lt;script src=&#34;https://gist.github.com/aspose-com-gists/6e5185a63aec6fd70d83098e82b06a32.js?file=Examples-CSharp-IMAP-BuildingComplexQueries-CombiningQueriesWithOR.cs&#34;&gt;&lt;/script&gt;

&lt;h3 id=&#34;lọc-dựa-trên-internaldate&#34;&gt;&lt;strong&gt;Lọc Dựa Trên InternalDate&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Tin nhắn có thể được trích xuất từ máy chủ dựa trên InternalDate tuy nhiên đôi khi máy chủ không trả về tất cả tin nhắn như hiển thị trong hộp đến. Nguyên nhân có thể là múi giờ của máy chủ vì nó có thể không phải UTC cho mọi máy chủ như &lt;a href=&#34;https://www.google.com.ua/search?client=opera&amp;amp;q=timezone&amp;#43;gmail&amp;amp;sourceid=opera&amp;amp;ie=utf-8&amp;amp;oe=utf-8&amp;amp;channel=suggest#channel=suggest&amp;amp;q=gmail&amp;#43;server&amp;#43;timezone&amp;#43;&amp;#43;&#34;&gt;Gmail&lt;/a&gt;. Aspose gửi các lệnh như 008 SEARCH ON 4-May-2014 theo &lt;a href=&#34;https://www.rfc-editor.org/rfc/rfc1730&#34;&gt;giao thức IMAP&lt;/a&gt; tuy nhiên kết quả có thể khác nhau do cài đặt múi giờ của máy chủ. Một thành viên mới đã được thêm vào &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapmessageinfo/&#34;&gt;ImapMessageInfo&lt;/a&gt; như &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapmessageinfo/internaldate/&#34;&gt;InternalDate&lt;/a&gt; điều này hỗ trợ hơn trong việc lọc tin nhắn. Đoạn mã sau cho thấy cách sử dụng của &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapmessageinfo/internaldate/&#34;&gt;InternalDate&lt;/a&gt; để lọc tin nhắn.&lt;/p&gt;
&lt;script src=&#34;https://gist.github.com/aspose-com-gists/6e5185a63aec6fd70d83098e82b06a32.js?file=Examples-CSharp-IMAP-InternalDateFilter-InternalDateFilter.cs&#34;&gt;&lt;/script&gt;

&lt;h3 id=&#34;lọc-phân-biệt-hoa-thường&#34;&gt;&lt;strong&gt;Lọc Phân Biệt Hoa Thường&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Đoạn mã sau cho bạn thấy cách sử dụng lọc email phân biệt chữ hoa chữ thường.&lt;/p&gt;
&lt;script src=&#34;https://gist.github.com/aspose-com-gists/6e5185a63aec6fd70d83098e82b06a32.js?file=Examples-CSharp-IMAP-CaseSensitiveEmailsFiltering-CaseSensitiveEmailsFiltering.cs&#34;&gt;&lt;/script&gt;

&lt;h3 id=&#34;chỉ-định-encoding-cho-query-builder&#34;&gt;&lt;strong&gt;Chỉ định Encoding cho Query Builder&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;API của &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapquerybuilder/&#34;&gt;ImapQueryBuilder&lt;/a&gt; bộ khởi tạo có thể được dùng để chỉ định Encoding cho chuỗi tìm kiếm. Điều này cũng có thể được đặt bằng cách sử dụng &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.tools.search/mailquerybuilder/defaultencoding/&#34;&gt;DefaultEncoding&lt;/a&gt; thuộc tính của MailQueryBuilder. Đoạn mã sau cho bạn thấy cách chỉ định mã hoá cho bộ xây dựng truy vấn.&lt;/p&gt;
&lt;script src=&#34;https://gist.github.com/aspose-com-gists/6e5185a63aec6fd70d83098e82b06a32.js?file=Examples-CSharp-IMAP-SpecifyEncodingForQueryBuilder-SpecifyEncodingForQueryBuilder.cs&#34;&gt;&lt;/script&gt;

&lt;h2 id=&#34;tùy-chọn-lọc-tùy-chỉnh&#34;&gt;&lt;strong&gt;Tùy Chọn Lọc Tùy Chỉnh&lt;/strong&gt;&lt;/h2&gt;
&lt;h3 id=&#34;lọc-tin-nhắn-với-cờ-tùy-chỉnh&#34;&gt;&lt;strong&gt;Lọc tin nhắn với Cờ Tùy chỉnh&lt;/strong&gt;&lt;/h3&gt;
&lt;script src=&#34;https://gist.github.com/aspose-com-gists/6e5185a63aec6fd70d83098e82b06a32.js?file=Examples-CSharp-IMAP-GetMessagesWithSpecificCriteria-GetMessagesWithCustomFlags.cs&#34;&gt;&lt;/script&gt;

&lt;h3 id=&#34;tìm-kiếm-tùy-chỉnh-để-lọc&#34;&gt;&lt;strong&gt;Tìm Kiếm Tùy Chỉnh Để Lọc&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Ví dụ, tiêu chuẩn RFC 3501 không cho phép tìm kiếm tin nhắn dựa trên việc có đính kèm trong tin nhắn. Nhưng &lt;strong&gt;Gmail&lt;/strong&gt; cung cấp &lt;a href=&#34;https://developers.google.com/gmail/imap/imap-extensions?hl=ru&#34;&gt;Các mở rộng IMAP&lt;/a&gt; cho phép thực hiện tìm kiếm như vậy. Đoạn mã tiếp theo cho thấy cách tạo một truy vấn tương ứng.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-csharp&#34; data-lang=&#34;csharp&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;ImapQueryBuilder&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;queryBuilder&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;ImapQueryBuilder&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;queryBuilder&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;CustomSearch&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;X-GM-RAW \&amp;#34;has:attachment\&amp;#34;&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;MailQuery&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;mailQuery&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;queryBuilder&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;GetQuery&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;ImapMessageInfoCollection&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;messageInfoCollection&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;imapClient&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ListMessages&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;mailQuery&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;lọc-tin-nhắn-với-hỗ-trợ-phân-trang&#34;&gt;&lt;strong&gt;Lọc tin nhắn với Hỗ trợ Phân trang&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Cái &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/&#34;&gt;ImapClient&lt;/a&gt; cung cấp khả năng tìm kiếm tin nhắn từ hộp thư và liệt kê chúng với hỗ trợ phân trang. Đoạn mã sau cho bạn thấy cách lọc tin nhắn với hỗ trợ phân trang.&lt;/p&gt;
&lt;script src=&#34;https://gist.github.com/aspose-com-gists/6e5185a63aec6fd70d83098e82b06a32.js?file=Examples-CSharp-IMAP-SearchWithPagingSupport-SearchWithPagingSupport.cs&#34;&gt;&lt;/script&gt;


      </description>
    </item>
    
    <item>
      <title>Net: Quản lý Cờ Tin nhắn trên Máy chủ IMAP</title>
      <link>/email/vi/net/manage-message-flags-on-imap-server/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/email/vi/net/manage-message-flags-on-imap-server/</guid>
      <description>
        
        
        &lt;h2 id=&#34;đặtthay-đổi-cờ-tin-nhắn&#34;&gt;&lt;strong&gt;Đặt/Thay đổi Cờ Tin nhắn&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;Bạn có thể thay đổi cờ tin nhắn bằng cách đặt các cờ mới với &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/changemessageflags/#changemessageflags/&#34;&gt;ChangeMessageFlags()&lt;/a&gt; phương thức. Phương thức này nhận hai tham số.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Số thứ tự của một tin nhắn hoặc ID duy nhất của nó.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapmessageflags/&#34;&gt;MessageFlag&lt;/a&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Các cờ sau có thể được đặt:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapmessageflags/answered/&#34;&gt;Answered&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapmessageflags/deleted/&#34;&gt;Deleted&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapmessageflags/draft/&#34;&gt;Draft&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapmessageflags/empty/&#34;&gt;Empty&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapmessageflags/flagged/&#34;&gt;Flagged&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapmessageflags/isread/&#34;&gt;IsRead&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapmessageflags/recent/&#34;&gt;Recent&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Đoạn mã mẫu sau cho bạn thấy cách thay đổi cờ tin nhắn trên máy chủ IMAP với Aspose.Email.&lt;/p&gt;
&lt;script src=&#34;https://gist.github.com/aspose-com-gists/6e5185a63aec6fd70d83098e82b06a32.js?file=Examples-CSharp-IMAP-SettingMessageFlags-SettingMessageFlags.cs&#34;&gt;&lt;/script&gt;

&lt;h2 id=&#34;xóa-cờ-tin-nhắn&#34;&gt;&lt;strong&gt;Xóa cờ tin nhắn&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;Các cờ tin nhắn cũng có thể bị xóa bằng &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/removemessageflags/#removemessageflags/&#34;&gt;RemoveMessageFlags()&lt;/a&gt; phương thức. Cách sử dụng tương tự như của &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/changemessageflags/#changemessageflags/&#34;&gt;ChangeMessageFlags()&lt;/a&gt; phương thức. Nó nhận một số thứ tự hoặc ID tin nhắn duy nhất và &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapmessageflags/&#34;&gt;MessageFlag&lt;/a&gt;. Đoạn mã mẫu sau cho bạn thấy cách xóa cờ tin nhắn.&lt;/p&gt;
&lt;script src=&#34;https://gist.github.com/aspose-com-gists/6e5185a63aec6fd70d83098e82b06a32.js?file=Examples-CSharp-IMAP-RemovingMessageFlags-RemovingMessageFlags.cs&#34;&gt;&lt;/script&gt;

&lt;h2 id=&#34;đặt-cờ-tùy-chỉnh&#34;&gt;&lt;strong&gt;Đặt Cờ Tùy chỉnh&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;Bạn cũng có thể đặt cờ tùy chỉnh cho một tin nhắn bằng cách sử dụng &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/&#34;&gt;ImapClient&lt;/a&gt; của API. ImapClient AddMessageFlags cung cấp khả năng đặt cờ tùy chỉnh trên các tin nhắn.&lt;/p&gt;
&lt;script src=&#34;https://gist.github.com/aspose-com-gists/6e5185a63aec6fd70d83098e82b06a32.js?file=Examples-CSharp-IMAP-SetCustomFlag-SetCustomFlag.cs&#34;&gt;&lt;/script&gt;


      </description>
    </item>
    
    <item>
      <title>Net: Quản lý Thư mục trên Máy chủ IMAP</title>
      <link>/email/vi/net/managing-folders-on-imap-server/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/email/vi/net/managing-folders-on-imap-server/</guid>
      <description>
        
        
        &lt;h2 id=&#34;các-thao-tác-thư-mục&#34;&gt;&lt;strong&gt;Các thao tác Thư mục&lt;/strong&gt;&lt;/h2&gt;
&lt;h3 id=&#34;lấy-thông-tin-thư-mục&#34;&gt;&lt;strong&gt;Lấy Thông tin Thư mục&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Lấy thông tin về các thư mục từ máy chủ IMAP rất dễ dàng với Aspose.Email. Gọi &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/listfolders/#listfolders/&#34;&gt;ListFolders()&lt;/a&gt; phương thức của &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/&#34;&gt;ImapClient&lt;/a&gt; lớp. Nó trả về một đối tượng của &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapfolderinfocollection/&#34;&gt;ImapFolderInfoCollection&lt;/a&gt; kiểu. Duyệt qua tập hợp này và lấy thông tin về từng thư mục trong vòng lặp. Phương thức này được nạp chồng. Bạn có thể truyền tên thư mục làm tham số để lấy danh sách các thư mục con. Đoạn mã dưới đây cho bạn thấy cách lấy thông tin thư mục từ máy chủ IMAP bằng Aspose.Email sử dụng phương pháp được mô tả trong thông tin.&lt;/p&gt;
&lt;script src=&#34;https://gist.github.com/aspose-com-gists/6e5185a63aec6fd70d83098e82b06a32.js?file=Examples-CSharp-IMAP-GettingFoldersInformation-GettingFoldersInformation.cs&#34;&gt;&lt;/script&gt;

&lt;h3 id=&#34;xóa-và-đổi-tên-thư-mục&#34;&gt;&lt;strong&gt;Xóa và Đổi tên Thư mục&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Một thư mục trên máy chủ IMAP có thể được xóa hoặc đổi tên trong một dòng lệnh duy nhất với Aspose.Email:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Cái &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/deletefolder/#deletefolder/&#34;&gt;DeleteFolder()&lt;/a&gt; phương thức chấp nhận tên thư mục làm tham số.&lt;/li&gt;
&lt;li&gt;Đối với &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/renamefolder/#renamefolder/&#34;&gt;RenameFolder()&lt;/a&gt; phương thức, bạn cần truyền tên thư mục hiện tại và tên thư mục mới. Đoạn mã sau đây cho bạn thấy cách xóa một thư mục khỏi máy chủ IMAP, và cách đổi tên một thư mục. Mỗi thao tác được thực hiện bằng một dòng lệnh.&lt;/li&gt;
&lt;/ul&gt;
&lt;script src=&#34;https://gist.github.com/aspose-com-gists/6e5185a63aec6fd70d83098e82b06a32.js?file=Examples-CSharp-IMAP-DeletingAndRenamingFolders-DeletingAndRenamingFolders.cs&#34;&gt;&lt;/script&gt;

&lt;h3 id=&#34;làm-việc-với-các-thư-mục-hộp-thư-dùng-đặc-biệt&#34;&gt;&lt;strong&gt;Làm việc với các Thư mục Hộp thư Dùng Đặc biệt&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Một số kho tin nhắn IMAP bao gồm các hộp thư dùng đặc biệt, chẳng hạn như các hộp lưu bản nháp hoặc tin đã gửi. Nhiều client email cho phép người dùng chỉ định nơi lưu bản nháp hoặc tin đã gửi, nhưng việc cấu hình chúng yêu cầu người dùng biết các hộp thư mà máy chủ đã dành cho các mục đích này. Aspose.Email có thể xác định các hộp thư dùng đặc biệt này bằng cách sử dụng &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapmailboxinfo/&#34;&gt;ImapMailboxInfo&lt;/a&gt; lớp để làm cho việc làm việc với chúng dễ dàng hơn. Mẫu mã sau đây minh họa cách truy cập các hộp thư dùng đặc biệt này bằng cách sử dụng &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapmailboxinfo/&#34;&gt;ImapMailboxInfo&lt;/a&gt; lớp.&lt;/p&gt;
&lt;script src=&#34;https://gist.github.com/aspose-com-gists/522d47278b8ca448dc1d7eb97193322c.js?file=Examples-CSharp-IMAP-ImapSpecialUseMailboxes-1.cs&#34;&gt;&lt;/script&gt;

&lt;h2 id=&#34;các-thao-tác-tin-nhắn-trong-thư-mục&#34;&gt;&lt;strong&gt;Các thao tác Tin nhắn trong Thư mục&lt;/strong&gt;&lt;/h2&gt;
&lt;h3 id=&#34;thêm-tin-nhắn-mới-vào-thư-mục&#34;&gt;&lt;strong&gt;Thêm Tin nhắn Mới vào Thư mục&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Bạn có thể thêm một tin nhắn mới vào thư mục bằng cách sử dụng &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email/mailmessage/&#34;&gt;MailMessage&lt;/a&gt; và &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/&#34;&gt;ImapClient&lt;/a&gt; các lớp. Đầu tiên tạo một &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email/mailmessage/&#34;&gt;MailMessage&lt;/a&gt; đối tượng bằng cách cung cấp các giá trị subject, to và from. Sau đó đăng ký một thư mục và thêm tin nhắn vào đó. Đoạn mã dưới đây cho bạn thấy cách thêm một Tin nhắn mới vào một thư mục.&lt;/p&gt;
&lt;script src=&#34;https://gist.github.com/aspose-com-gists/6e5185a63aec6fd70d83098e82b06a32.js?file=Examples-CSharp-IMAP-AddingNewMessage-AddingNewMessageToFolder.cs&#34;&gt;&lt;/script&gt;

&lt;h3 id=&#34;thêm-nhiều-tin-nhắn-với-multiconnection&#34;&gt;&lt;strong&gt;Thêm Nhiều Tin nhắn với MultiConnection&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Bạn có thể thêm nhiều tin nhắn bằng cách sử dụng &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/appendmessages/#appendmessages/&#34;&gt;AppendMessages&lt;/a&gt; phương thức do &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/&#34;&gt;ImapClient&lt;/a&gt; các lớp.  &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/appendmessages/#appendmessages/&#34;&gt;AppendMessages&lt;/a&gt; phương thức chấp nhận một danh sách của &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email/mailmessage/&#34;&gt;MailMessage&lt;/a&gt; và thêm nó vào thư mục hiện tại nếu thư mục không được cung cấp làm tham số. ImapClient cũng hỗ trợ chế độ MultiConnection cho các thao tác tải nặng. Đoạn mã sau đây cho bạn thấy cách thêm nhiều tin nhắn bằng cách sử dụng chế độ MultiConnection.&lt;/p&gt;
&lt;script src=&#34;https://gist.github.com/aspose-com-gists/522d47278b8ca448dc1d7eb97193322c.js?file=Examples-CSharp-IMAP-ImapGroupAppendWithMultiConnection-1.cs&#34;&gt;&lt;/script&gt;



&lt;div class=&#34;alert alert-primary&#34; role=&#34;alert&#34;&gt;

Xin lưu ý rằng việc sử dụng chế độ đa kết nối không đảm bảo tăng hiệu suất.
&lt;/div&gt;

&lt;h3 id=&#34;di-chuyển-tin-nhắn-giữa-các-thư-mục&#34;&gt;&lt;strong&gt;Di chuyển Tin nhắn giữa Các Thư mục&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Aspose.Email cho .NET cho phép di chuyển tin nhắn từ một thư mục hộp thư này sang thư mục khác bằng cách sử dụng &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/&#34;&gt;ImapClient&lt;/a&gt; API. The &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/movemessage/#movemessage/&#34;&gt;MoveMessage&lt;/a&gt; phương thức sử dụng ID duy nhất của tin nhắn và tên thư mục đích để di chuyển tin nhắn tới thư mục đích. Đoạn mã dưới đây cho bạn thấy cách di chuyển tin nhắn sang thư mục hộp thư khác.&lt;/p&gt;
&lt;script src=&#34;https://gist.github.com/aspose-com-gists/6e5185a63aec6fd70d83098e82b06a32.js?file=Examples-CSharp-IMAP-MoveMessage-MoveMessage.cs&#34;&gt;&lt;/script&gt;

&lt;h3 id=&#34;sao-chép-tin-nhắn-giữa-các-thư-mục&#34;&gt;&lt;strong&gt;Sao chép Tin nhắn giữa các Thư mục&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;API Aspose.Email cung cấp khả năng sao chép tin nhắn từ một thư mục hộp thư này sang thư mục khác. Nó cho phép sao chép một tin nhắn hoặc nhiều tin nhắn bằng cách sử dụng &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/copymessage/#copymessage/&#34;&gt;CopyMessage&lt;/a&gt; và &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/copymessages/#copymessages/&#34;&gt;CopyMessages&lt;/a&gt; phương thức. &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/copymessages/#copymessages/&#34;&gt;CopyMessages&lt;/a&gt; phương thức cung cấp khả năng sao chép nhiều tin nhắn từ thư mục nguồn của một hộp thư sang thư mục hộp thư đích. Đoạn mã sau đây cho bạn thấy cách sao chép tin nhắn sang một thư mục hộp thư khác.&lt;/p&gt;
&lt;script src=&#34;https://gist.github.com/aspose-com-gists/6e5185a63aec6fd70d83098e82b06a32.js?file=Examples-CSharp-IMAP-CopyMultipleMessagesFromOneFoldertoAnother-CopyMultipleMessagesFromOneFoldertoAnother.cs&#34;&gt;&lt;/script&gt;


      </description>
    </item>
    
    <item>
      <title>Net: Các thao tác IMAP bất đồng bộ: Lấy, Quản lý &amp; Gửi Email</title>
      <link>/email/vi/net/asynchronous-imap-operations/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/email/vi/net/asynchronous-imap-operations/</guid>
      <description>
        
        
        &lt;h2 id=&#34;các-thao-tác-bất-đồng-bộ-với-imapclient&#34;&gt;&lt;strong&gt;Các thao tác bất đồng bộ với ImapClient&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;Làm việc với tin nhắn có thể được thực hiện bất đồng bộ bằng cách sử dụng Aspose.Email &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/&#34;&gt;ImapClient&lt;/a&gt;. Bài viết này trình bày việc truy xuất tin nhắn từ hộp thư một cách bất đồng bộ. Bài viết này cũng chỉ cách liệt kê tin nhắn bằng cách cung cấp tiêu chí tìm kiếm sử dụng &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.tools.search/mailquery/&#34;&gt;MailQuery&lt;/a&gt;. Sẽ được trình bày riêng cách ngắt một thao tác với các tin nhắn email được bắt đầu bằng mô hình bất đồng bộ dựa trên nhiệm vụ (&lt;a href=&#34;https://learn.microsoft.com/en-us/dotnet/standard/asynchronous-programming-patterns/task-based-asynchronous-pattern-tap&#34;&gt;TAP&lt;/a&gt;) phương thức.&lt;/p&gt;
&lt;h3 id=&#34;truy-xuất-tin-nhắn-bất-đồng-bộ&#34;&gt;&lt;strong&gt;Truy xuất Tin nhắn bất đồng bộ&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Đoạn mã sau cho bạn thấy cách truy xuất tin nhắn một cách bất đồng bộ.&lt;/p&gt;
&lt;script src=&#34;https://gist.github.com/aspose-com-gists/6e5185a63aec6fd70d83098e82b06a32.js?file=Examples-CSharp-IMAP-RetrievingMessagesasynchronously-RetrievingMessagesasynchronously.cs&#34;&gt;&lt;/script&gt;

&lt;h3 id=&#34;liệt-kê-tin-nhắn-bất-đồng-bộ-với-mailquery&#34;&gt;&lt;strong&gt;Liệt kê Tin nhắn Bất đồng bộ với MailQuery&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Cái &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.tools.search/mailquery/&#34;&gt;MailQuery&lt;/a&gt; lớp có thể được sử dụng để chỉ định tiêu chí tìm kiếm nhằm truy xuất danh sách tin nhắn xác định một cách bất đồng bộ như được hiển thị trong mẫu mã sau.&lt;/p&gt;
&lt;script src=&#34;https://gist.github.com/aspose-com-gists/6e5185a63aec6fd70d83098e82b06a32.js?file=Examples-CSharp-IMAP-ListMessagesasynchronously-ListMessagesasynchronouslyWithMailQuery.cs&#34;&gt;&lt;/script&gt;

&lt;h3 id=&#34;gửi-tin-nhắn-bất-đồng-bộ&#34;&gt;&lt;strong&gt;Gửi tin nhắn bất đồng bộ&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Gửi email bất đồng bộ rất tiện lợi, vì quá trình này không chặn việc thực thi của chương trình hoặc luồng. Thay vì chờ email được gửi trước khi tiếp tục các tác vụ khác, chương trình có thể tiếp tục chạy trong khi email đang được gửi ở nền.&lt;/p&gt;
&lt;p&gt;Các tính năng sau sẽ giúp bạn triển khai việc gửi bất đồng bộ vào dự án của mình:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/iasyncimapclient/#iasyncimapclient-interface&#34;&gt;IAsyncImapClient&lt;/a&gt; - Cho phép các ứng dụng truy cập và thao tác các tin nhắn bằng giao thức Internet Message Access Protocol (IMAP).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/createasync/&#34;&gt;ImapClient.CreateAsync&lt;/a&gt; - Tạo một thể hiện mới của lớp Aspose.Email.Clients.Imap.ImapClient&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Đoạn mã mẫu dưới đây minh họa cách liệt kê tin nhắn trong nền:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-cs&#34; data-lang=&#34;cs&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// Authenticate the client to obtain necessary permissions&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;static&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;readonly&lt;/span&gt; &lt;span class=&#34;kt&#34;&gt;string&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;tenantId&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;YOU_TENANT_ID&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;static&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;readonly&lt;/span&gt; &lt;span class=&#34;kt&#34;&gt;string&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;clientId&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;YOU_CLIENT_ID&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;static&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;readonly&lt;/span&gt; &lt;span class=&#34;kt&#34;&gt;string&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;redirectUri&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;http://localhost&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;static&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;readonly&lt;/span&gt; &lt;span class=&#34;kt&#34;&gt;string&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;username&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;username&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;static&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;readonly&lt;/span&gt; &lt;span class=&#34;kt&#34;&gt;string&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[]&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;scopes&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;https://outlook.office.com/IMAP.AccessAsUser.All&amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// Use the ImapAsync method for asynchronous operations&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;static&lt;/span&gt; &lt;span class=&#34;kd&#34;&gt;async&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Task&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Main&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;string&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[]&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;args&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;await&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;ImapAsync&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;Console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ReadLine&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// Establish the connection with the server&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// Create an instance of the ImapClient asynchronously using the CreateAsync method&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// Select the Inbox folder using SelectFolderAsync method to complete and fetch the list of email messages asynchronously using the ListMessagesAsync method.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;static&lt;/span&gt; &lt;span class=&#34;kd&#34;&gt;async&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Task&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;ImapAsync&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;kt&#34;&gt;var&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;tokenProvider&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;TokenProvider&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;clientId&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;tenantId&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;redirectUri&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;scopes&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;kt&#34;&gt;var&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;client&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;ImapClient&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;CreateAsync&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;outlook.office365.com&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;username&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;tokenProvider&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;993&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;).&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;GetAwaiter&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;().&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;GetResult&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;await&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;client&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;SelectFolderAsync&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ImapFolderInfo&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;InBox&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;kt&#34;&gt;var&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;messages&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;await&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;client&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ListMessagesAsync&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;Console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;WriteLine&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;Messages :&amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;messages&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Count&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// Token provider implementation&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;public&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;class&lt;/span&gt; &lt;span class=&#34;nc&#34;&gt;TokenProvider&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;IAsyncTokenProvider&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;kd&#34;&gt;private&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;readonly&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;PublicClientApplicationOptions&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;_pcaOptions&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;kd&#34;&gt;private&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;readonly&lt;/span&gt; &lt;span class=&#34;kt&#34;&gt;string&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[]&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;_scopes&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;kd&#34;&gt;public&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;TokenProvider&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;string&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;clientId&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;kt&#34;&gt;string&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;tenantId&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;kt&#34;&gt;string&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;redirectUri&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;kt&#34;&gt;string&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[]&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;scopes&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;_pcaOptions&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;PublicClientApplicationOptions&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;ClientId&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;clientId&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;TenantId&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;tenantId&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;RedirectUri&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;redirectUri&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;_scopes&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;scopes&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;kd&#34;&gt;public&lt;/span&gt; &lt;span class=&#34;kd&#34;&gt;async&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Task&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;OAuthToken&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;GetAccessTokenAsync&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;bool&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;ignoreExistingToken&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;false&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;CancellationToken&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;cancellationToken&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;default&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;kt&#34;&gt;var&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;pca&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;PublicClientApplicationBuilder&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;CreateWithApplicationOptions&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;_pcaOptions&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;).&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Build&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;k&#34;&gt;try&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;kt&#34;&gt;var&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;result&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;await&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;pca&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;AcquireTokenInteractive&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;_scopes&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                &lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;WithUseEmbeddedWebView&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;kc&#34;&gt;false&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                &lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ExecuteAsync&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;cancellationToken&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;OAuthToken&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;result&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;AccessToken&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;k&#34;&gt;catch&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;MsalException&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;ex&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;Console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;WriteLine&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;$&amp;#34;Error acquiring access token: {ex}&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;k&#34;&gt;catch&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Exception&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;ex&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;Console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;WriteLine&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;$&amp;#34;Error: {ex}&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;null&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;kd&#34;&gt;public&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;void&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Dispose&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;quản-lý-các-thao-tác-bất-đồng-bộ&#34;&gt;&lt;strong&gt;Quản lý các thao tác bất đồng bộ&lt;/strong&gt;&lt;/h2&gt;
&lt;h3 id=&#34;ngắt-một-phương-thức-tap&#34;&gt;&lt;strong&gt;Ngắt một phương thức TAP&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Bắt đầu từ .NET Framework 4.5, bạn có thể sử dụng các phương thức bất đồng bộ được triển khai theo mô hình TAP. Đoạn mã dưới đây cho thấy cách thêm nhiều tin nhắn bằng phương pháp bất đồng bộ dựa trên nhiệm vụ có tên &lt;code&gt;AppendMessagesAsync&lt;/code&gt; và sau đó ngắt quá trình này sau một thời gian.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-csharp&#34; data-lang=&#34;csharp&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-.NET&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;List&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;MailMessage&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;mailMessages&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;List&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;MailMessage&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// create mail messages&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;int&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;i&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;i&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;100&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;i&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;++)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;mailMessages&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Add&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;MailMessage&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;senderEmail&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;receiverEmail&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;$&amp;#34;Message #{i}&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;Text&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;));&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;using&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ImapClient&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;client&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;ImapClient&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;host&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;993&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;senderEmail&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;password&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;SecurityOptions&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;SSLImplicit&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;CancellationTokenSource&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;cancellationTokenSource&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;CancellationTokenSource&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;AutoResetEvent&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;autoResetEvent&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;AutoResetEvent&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;kc&#34;&gt;false&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;Exception&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;exception&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;null&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;ThreadPool&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;QueueUserWorkItem&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;delegate&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;k&#34;&gt;try&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;c1&#34;&gt;// start uploading the messages&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;kt&#34;&gt;var&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;task&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;client&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;AppendMessagesAsync&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;mailMessages&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;cancellationTokenSource&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Token&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;AppendMessagesResult&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;appendMessagesResult&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;task&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;GetAwaiter&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;().&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;GetResult&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;Console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;WriteLine&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;All messages have been appended.&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;k&#34;&gt;catch&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Exception&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;e&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;exception&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;e&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;k&#34;&gt;finally&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;autoResetEvent&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Set&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;});&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;Thread&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Sleep&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;5000&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;// stop uploading the messages&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;cancellationTokenSource&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Cancel&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;autoResetEvent&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;WaitOne&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;foreach&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;MailMessage&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;mailMessage&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;mailMessages&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;mailMessage&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Dispose&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;exception&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;is&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;OperationCanceledException&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;Console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;WriteLine&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;Operation has been interrupted: &amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;exception&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Message&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;hủy-các-thao-tác-bất-đồng-bộ&#34;&gt;&lt;strong&gt;Hủy các thao tác bất đồng bộ&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Đôi khi bạn có thể gặp nhu cầu dừng các thao tác bất đồng bộ. Vì mục đích này, thư viện của chúng tôi cung cấp khả năng hủy các thao tác bất đồng bộ thông qua tham số CancellationToken. Khi gọi một phương thức bất đồng bộ hỗ trợ hủy, bạn có thể truyền một thể hiện CancellationToken làm tham số. CancellationToken được sử dụng để báo hiệu và kiểm soát việc hủy thao tác.&lt;/p&gt;
&lt;p&gt;Để bật hủy, trước tiên bạn cần tạo một thể hiện CancellationTokenSource cung cấp CancellationToken. Sau đó, truyền CancellationToken vào phương thức bất đồng bộ, cho phép nó kiểm tra yêu cầu hủy trong quá trình thực thi.&lt;/p&gt;
&lt;p&gt;Dưới đây là một ví dụ minh họa việc hủy bằng CancellationToken:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-cs&#34; data-lang=&#34;cs&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;CancellationTokenSource&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;tokenSource&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;CancellationTokenSource&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;AppendMessagesResult&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;appendMessagesResult&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;null&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;AutoResetEvent&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;autoResetEvent&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;AutoResetEvent&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;kc&#34;&gt;false&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;ThreadPool&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;QueueUserWorkItem&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;delegate&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;object&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;state&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;k&#34;&gt;try&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;appendMessagesResult&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;imapClient&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;AppendMessagesAsync&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;mmList&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;tokenSource&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Token&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;).&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;GetAwaiter&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;().&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;GetResult&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;k&#34;&gt;catch&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Exception&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;ex&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;k&#34;&gt;finally&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;autoResetEvent&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Set&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;});&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;tokenSource&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Cancel&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;autoResetEvent&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;WaitOne&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
      </description>
    </item>
    
    <item>
      <title>Net: Cách Bật Ghi Nhận Hoạt Động IMAP</title>
      <link>/email/vi/net/enable-imap-activity-logging/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/email/vi/net/enable-imap-activity-logging/</guid>
      <description>
        
        
        &lt;p&gt;Ghi nhận hoạt động được sử dụng cho việc gỡ lỗi, cũng như thu thập và phân tích thông tin làm việc về client IMAP.&lt;/p&gt;
&lt;h2 id=&#34;bật-ghi-nhật-ký-hoạt-động&#34;&gt;&lt;strong&gt;Bật ghi nhật ký hoạt động&lt;/strong&gt;&lt;/h2&gt;
&lt;h3 id=&#34;sử-dụng-tệp-appsettingsjson-để-kích-hoạt-ghi-lại-hoạt-động&#34;&gt;&lt;strong&gt;Sử dụng Tệp appsettings.json để Kích hoạt Ghi Lại Hoạt Động&lt;/strong&gt;&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;LƯU Ý:&lt;/em&gt;&lt;/strong&gt; Tùy chọn này được ưu tiên cho các ứng dụng .NET Core.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Đăng nhập &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/&#34;&gt;ImapClient&lt;/a&gt; có thể được bật với các bước và mẫu mã sau:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Thêm tệp cấu hình appsettings.json vào dự án C#, nếu nó chưa được thêm trước đó.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Đảm bảo rằng tệp dự án chứa các dòng sau trong phần ItemGroup.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;   &lt;span class=&#34;nt&#34;&gt;&amp;lt;Content&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;Include=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;appsettings.json&amp;#34;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;       &lt;span class=&#34;nt&#34;&gt;&amp;lt;CopyToOutputDirectory&amp;gt;&lt;/span&gt;Always&lt;span class=&#34;nt&#34;&gt;&amp;lt;/CopyToOutputDirectory&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;   &lt;span class=&#34;nt&#34;&gt;&amp;lt;/Content&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Sau đó, thêm nội dung sau vào tệp appsettings.json.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;   &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;     &lt;span class=&#34;nt&#34;&gt;&amp;#34;ImapDiagnosticLog&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;imap.log&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;     &lt;span class=&#34;nt&#34;&gt;&amp;#34;ImapDiagnosticLog_UseDate&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;   &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Hai thuộc tính được đề cập ở trên là:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;ImapDiagnosticLog&lt;/strong&gt; - chỉ định đường dẫn tương đối hoặc tuyệt đối tới tệp log.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;ImapDiagnosticLog_UseDate&lt;/strong&gt; - chỉ định có thêm biểu diễn chuỗi của ngày hiện tại vào tên tệp log hay không.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;kích-hoạt-ghi-lại-hoạt-động-trong-mã-chương-trình&#34;&gt;&lt;strong&gt;Kích hoạt Ghi Lại Hoạt Động trong Mã Chương Trình&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Bạn cũng có thể bật ghi nhật ký ngay trong mã.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;LƯU Ý:&lt;/em&gt;&lt;/strong&gt; ngay cả khi bạn đã bật ghi nhật ký bằng tệp cấu hình, tùy chọn này sẽ được áp dụng.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Đăng nhập &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/&#34;&gt;ImapClient&lt;/a&gt; có thể được bật với các bước và mẫu mã sau:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Tạo một &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/&#34;&gt;ImapClient&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Đặt đường dẫn tới tệp nhật ký bằng cách sử dụng &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients/emailclient/logfilename/&#34;&gt;LogFileName&lt;/a&gt; thuộc tính.&lt;/li&gt;
&lt;li&gt;Đặt &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients/emailclient/usedateinlogfilename/&#34;&gt;UseDateInLogFileName&lt;/a&gt; thuộc tính nếu cần thiết.&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-cs&#34; data-lang=&#34;cs&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;   &lt;span class=&#34;k&#34;&gt;using&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;var&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;client&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;ImapClient&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;your imap server&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;993&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;your username&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;your password&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;// Set security mode&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;client&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;SecurityOptions&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;SecurityOptions&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Auto&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;// Set the path to the log file using the LogFileName property.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;client&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;LogFileName&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;@&amp;#34;C:\Aspose.Email.IMAP.log&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;// Set the UseDateInLogFileName property if it is necessary.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;client&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;UseDateInLogFileName&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;false&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;sử-dụng-tệp-appconfig-để-kích-hoạt-ghi-lại-hoạt-động&#34;&gt;&lt;strong&gt;Sử dụng Tệp App.config để Kích hoạt Ghi Lại Hoạt Động&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/&#34;&gt;ImapClient&lt;/a&gt; hoạt động có thể được ghi lại bằng cách sửa đổi configSections trong tệp cấu hình. Dưới đây là các bước thực hiện ghi nhật ký chẩn đoán:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Thêm một &lt;strong&gt;sectionGroup&lt;/strong&gt; có tên &amp;quot;applicationSettings&amp;quot;.&lt;/li&gt;
&lt;li&gt;Thêm một &lt;strong&gt;section&lt;/strong&gt; có tên &amp;quot;Aspose.Email.Properties.Settings&amp;quot;.&lt;/li&gt;
&lt;li&gt;Bao gồm cài đặt ImapDiagonosticLog nơi tên tệp được định nghĩa trong &lt;strong&gt;applicationSettings/Aspose.Email.Properties.Settings&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Đây là một ứng dụng form mẫu sử dụng &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/&#34;&gt;ImapClient&lt;/a&gt; để xử lý thư. Toàn bộ hoạt động này được ghi lại bằng cách sửa đổi tệp App.config.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Tạo một ứng dụng dựa trên biểu mẫu với một nút duy nhất. Thêm mẫu mã sau cho sự kiện nhấp nút:&lt;/li&gt;
&lt;/ul&gt;
&lt;script src=&#34;https://gist.github.com/aspose-com-gists/6e5185a63aec6fd70d83098e82b06a32.js?file=Examples-CSharp-IMAP-ImapClientActivityLogging-ImapClientActivityLogging.cs&#34;&gt;&lt;/script&gt;

&lt;ul&gt;
&lt;li&gt;Thêm tham chiếu tới Aspose.Email.&lt;/li&gt;
&lt;/ul&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th style=&#34;text-align: left&#34;&gt;&lt;img src=&#34;/email/net/enable-imap-activity-logging/imapclient-activity-logging_1.png&#34; alt=&#34;todo:image_alt_text&#34;&gt;&lt;/th&gt;
          &lt;th style=&#34;text-align: left&#34;&gt; &lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;ul&gt;
&lt;li&gt;Bây giờ thêm tệp App.Config và sửa đổi nó sao cho nội dung tệp như sau:&lt;/li&gt;
&lt;/ul&gt;
&lt;script src=&#34;https://gist.github.com/aspose-com-gists/6e5185a63aec6fd70d83098e82b06a32.js?file=Examples-CSharp-ImapClientActivityLogging-ImapClientActivityLogging.xml&#34;&gt;&lt;/script&gt;

&lt;p&gt;Đối với C# .NET, sử dụng tùy chọn sau&lt;/p&gt;
&lt;p&gt;|&lt;img src=&#34;/email/net/enable-imap-activity-logging/imapclient-activity-logging_2.png&#34; alt=&#34;todo:image_alt_text&#34;&gt;| | | :- | :- | Đối với VB .NET sử dụng tùy chọn sau&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th style=&#34;text-align: left&#34;&gt;&lt;img src=&#34;/email/net/enable-imap-activity-logging/imapclient-activity-logging_2.png&#34; alt=&#34;todo:image_alt_text&#34;&gt;&lt;/th&gt;
          &lt;th style=&#34;text-align: left&#34;&gt; &lt;/th&gt;
          &lt;th style=&#34;text-align: left&#34;&gt;&lt;img src=&#34;/email/net/enable-imap-activity-logging/imapclient-activity-logging_4.png&#34; alt=&#34;todo:image_alt_text&#34;&gt;&lt;/th&gt;
          &lt;th style=&#34;text-align: left&#34;&gt; &lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th style=&#34;text-align: left&#34;&gt;&lt;img src=&#34;/email/net/enable-imap-activity-logging/imapclient-activity-logging_5.png&#34; alt=&#34;todo:image_alt_text&#34;&gt;&lt;/th&gt;
          &lt;th style=&#34;text-align: left&#34;&gt; &lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;ul&gt;
&lt;li&gt;Chạy mã và sau đó xem thư mục Log. Tệp sau sẽ được tạo ra.&lt;/li&gt;
&lt;/ul&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th style=&#34;text-align: left&#34;&gt;&lt;img src=&#34;/email/net/enable-imap-activity-logging/imapclient-activity-logging_6.png&#34; alt=&#34;todo:image_alt_text&#34;&gt;&lt;/th&gt;
          &lt;th style=&#34;text-align: left&#34;&gt; &lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

      </description>
    </item>
    
    <item>
      <title>Net: Xác thực Thông tin Đăng nhập Máy chủ Mail IMAP bằng API .NET</title>
      <link>/email/vi/net/validate-imap-mail-server-credentials/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/email/vi/net/validate-imap-mail-server-credentials/</guid>
      <description>
        
        
        &lt;p&gt;API Aspose.Email cho phép xác thực thông tin đăng nhập máy chủ mail mà không cần gửi email. &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/validatecredentials&#34;&gt;ValidateCredentials&lt;/a&gt; phương thức chịu trách nhiệm xác minh tính xác thực và hợp lệ của các thông tin đăng nhập email được cung cấp, thường được sử dụng để xác thực khi kết nối tới máy chủ.&lt;/p&gt;
&lt;p&gt;Nó xác nhận rằng các thông tin đăng nhập email được cung cấp, như tên người dùng và mật khẩu, là hợp lệ và client có thể thiết lập kết nối thành công với máy chủ. Việc xác minh này giúp đảm bảo client có thể truy cập an toàn vào tài khoản email và thực hiện các thao tác khác nhau, như nhận email.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-cs&#34; data-lang=&#34;cs&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;using&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ImapClient&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;client&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;ImapClient&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;server&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ImapUrl&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;server&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ImapPort&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;username&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;password&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;SecurityOptions&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Auto&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;client&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Timeout&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;4000&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;   
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;client&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ValidateCredentials&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;())&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;c1&#34;&gt;//to do something&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Đối với một thao tác bất đồng bộ, cũng có một phiên bản của phương thức &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/validatecredentialsasync&#34;&gt;ValidateCredentialsAsync&lt;/a&gt;.&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Net: Hoạt động Sao lưu và Khôi phục IMAP</title>
      <link>/email/vi/net/imap-backup-and-restore/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/email/vi/net/imap-backup-and-restore/</guid>
      <description>
        
        
        &lt;h2 id=&#34;sao-lưu-và-khôi-phục-tiêu-chuẩn&#34;&gt;&lt;strong&gt;Sao lưu và Khôi phục Tiêu chuẩn&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;Aspose.Email cho .NET cung cấp khả năng sao lưu và khôi phục tin nhắn. Đối với việc này, API cung cấp các phương thức sau.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/backup/#backup/&#34;&gt;ImapClient.Backup&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/restore/&#34;&gt;ImapClient.Restore&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Bài viết này minh họa cách sao lưu và khôi phục tin nhắn bằng cách sử dụng &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/&#34;&gt;ImapClient&lt;/a&gt; lớp.&lt;/p&gt;
&lt;h3 id=&#34;sao-lưu-tin-nhắn&#34;&gt;&lt;strong&gt;Sao lưu Tin nhắn&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Để sao lưu tin nhắn, sử dụng &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/backup/#backup/&#34;&gt;ImapClient.Backup&lt;/a&gt; phương thức như được minh họa trong đoạn mã dưới đây.&lt;/p&gt;
&lt;script src=&#34;https://gist.github.com/aspose-com-gists/522d47278b8ca448dc1d7eb97193322c.js?file=Examples-CSharp-IMAP-ImapBackupOperation-1.cs&#34;&gt;&lt;/script&gt;

&lt;h3 id=&#34;khôi-phục-tin-nhắn&#34;&gt;&lt;strong&gt;Khôi phục Tin nhắn&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Để khôi phục tin nhắn, sử dụng &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/restore/&#34;&gt;ImapClient.Restore&lt;/a&gt; phương thức như được minh họa trong đoạn mã dưới đây.&lt;/p&gt;
&lt;script src=&#34;https://gist.github.com/aspose-com-gists/522d47278b8ca448dc1d7eb97193322c.js?file=Examples-CSharp-IMAP-ImapRestoreOperation-1.cs&#34;&gt;&lt;/script&gt;

&lt;h2 id=&#34;sao-lưu-và-khôi-phục-imap-với-multiconnection&#34;&gt;&lt;strong&gt;Sao lưu và Khôi phục IMAP với MultiConnection&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;Khi làm việc với số lượng lớn tin nhắn, quá trình sao lưu/khôi phục có thể mất thời gian dài. Vì vậy, API cung cấp hỗ trợ đa kết nối trong quá trình sao lưu và khôi phục. Để bật chế độ MultiConnection, đặt &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients/emailclient/usemulticonnection/&#34;&gt;ImapClient.UseMultiConnection&lt;/a&gt; thuộc tính để &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients/multiconnectionmode/&#34;&gt;MultiConnectionMode.Enable&lt;/a&gt;. Các đoạn mã dưới đây minh họa hoạt động sao lưu và khôi phục với chế độ MultiConnection được bật.&lt;/p&gt;
&lt;p&gt;Các đoạn mã dưới đây minh họa &lt;strong&gt;hoạt động sao lưu&lt;/strong&gt; với chế độ MultiConnection được bật.&lt;/p&gt;
&lt;script src=&#34;https://gist.github.com/aspose-com-gists/522d47278b8ca448dc1d7eb97193322c.js?file=Examples-CSharp-IMAP-ImapBackupOperationWithMultiConnection-1.cs&#34;&gt;&lt;/script&gt;

&lt;p&gt;Các đoạn mã dưới đây minh họa &lt;strong&gt;hoạt động khôi phục&lt;/strong&gt; với chế độ MultiConnection được bật.&lt;/p&gt;
&lt;script src=&#34;https://gist.github.com/aspose-com-gists/522d47278b8ca448dc1d7eb97193322c.js?file=Examples-CSharp-IMAP-ImapRestoreOperationWithMultiConnection-1.cs&#34;&gt;&lt;/script&gt;


      </description>
    </item>
    
    <item>
      <title>Net: Cách Xóa Tin Nhắn từ Máy Chủ IMAP bằng .NET Core</title>
      <link>/email/vi/net/delete-messages-from-imap-server/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/email/vi/net/delete-messages-from-imap-server/</guid>
      <description>
        
        
        &lt;h2 id=&#34;xóa-tin-nhắn&#34;&gt;&lt;strong&gt;Xóa tin nhắn&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;Cái &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/&#34;&gt;ImapClient&lt;/a&gt; lớp có thể xóa tin nhắn từ máy chủ IMAP.  &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/&#34;&gt;ImapClient&lt;/a&gt; lớp &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/deletemessage/#deletemessage/&#34;&gt;DeleteMessage()&lt;/a&gt; hàm được sử dụng để xóa tin nhắn. Nó nhận số thứ tự tin nhắn hoặc ID duy nhất làm tham số.  &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/&#34;&gt;ImapClient&lt;/a&gt; cung cấp &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/deletemessage/#deletemessage/&#34;&gt;DeleteMessage&lt;/a&gt; và &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/deletemessages/#deletemessages/&#34;&gt;DeleteMessages&lt;/a&gt; phương thức để xóa tin nhắn từng cái một hoặc nhiều tin nhắn. Đoạn mã mẫu sau cho bạn thấy cách xóa một tin nhắn email có ID tin nhắn 1 từ máy chủ IMAP.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-csharp&#34; data-lang=&#34;csharp&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;using&lt;/span&gt; &lt;span class=&#34;nn&#34;&gt;var&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;client&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;ImapClient&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;host&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;username&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;password&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;client&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;SecurityOptions&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;SecurityOptions&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;SSLImplicit&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// Append test message&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;client&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;SelectFolder&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ImapFolderInfo&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;InBox&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kt&#34;&gt;var&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;eml&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;MailMessage&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;from@from.com&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;to@to.com&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;Subject&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;Message to delete&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;Body&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;Hey! This Message will be deleted!&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kt&#34;&gt;var&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;emlId&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;client&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;AppendMessage&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;eml&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// Delete appended message&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;client&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;DeleteMessage&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;emlId&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;client&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;CommitDeletes&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;xóa-nhiều-tin-nhắn&#34;&gt;&lt;strong&gt;Xóa nhiều tin nhắn&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;Có thể xóa nhiều email khỏi hộp thư bằng cách sử dụng &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/&#34;&gt;ImapClient&lt;/a&gt; của API Aspose.Email.  &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapclient/deletemessages/#deletemessages/&#34;&gt;DeleteMessages&lt;/a&gt; phương thức cung cấp một số tùy chọn để xóa nhiều tin nhắn từ máy chủ bằng cách sử dụng ID duy nhất, số thứ tự hoặc &lt;a href=&#34;https://reference.aspose.com/email/net/aspose.email.clients.imap/imapmessageinfocollection/&#34;&gt;ImapMessageInfoCollection&lt;/a&gt; phần tử. Đoạn mã mẫu sau cho bạn thấy cách xóa nhiều tin nhắn.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-csharp&#34; data-lang=&#34;csharp&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;using&lt;/span&gt; &lt;span class=&#34;nn&#34;&gt;var&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;client&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;ImapClient&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;host&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;username&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;password&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;client&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;SelectFolder&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ImapFolderInfo&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;InBox&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// Append test messages&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kt&#34;&gt;var&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;emlList&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;List&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;MailMessage&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;kt&#34;&gt;var&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;eml&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;MailMessage&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;from@from.com&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;to@to.com&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;Subject&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;$&amp;#34;Message to delete {i}&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;Body&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;Hey! This Message will be deleted!&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;emlList&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Add&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;eml&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kt&#34;&gt;var&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;appendMessagesResult&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;client&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;AppendMessages&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;emlList&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// Bulk Delete appended Messages&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;client&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;DeleteMessages&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;appendMessagesResult&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Succeeded&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Values&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;client&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;CommitDeletes&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
      </description>
    </item>
    
  </channel>
</rss>
