File tree Expand file tree Collapse file tree 2 files changed +10
-4
lines changed
source/MailKitSimplified.Receiver/Services Expand file tree Collapse file tree 2 files changed +10
-4
lines changed Original file line number Diff line number Diff line change @@ -17,7 +17,7 @@ Receiving emails with MailKitSimplified.Receiver is as easy as:
1717
1818``` csharp
1919using var imapReceiver = ImapReceiver .Create (" localhost" );
20- var mimeMessages = await imapReceiver .ReadMail .GetMimeMessagesAsync ();
20+ var mimeMessages = await imapReceiver .ReadMail .Top ( 1 ). GetMimeMessagesAsync ();
2121```
2222
2323You can even monitor an email folder for new messages asynchronously, never before has it been this easy!
@@ -29,7 +29,7 @@ await imapReceiver.MonitorFolder.OnMessageArrival(m => Console.WriteLine(m.Uniqu
2929Once you've got either a mime message or a message summary, replying is now equally as intuitive.
3030
3131``` csharp
32- var mimeReply = mimeMessages .GetReplyMessage (" <p>Reply here.</p>" );
32+ var mimeReply = mimeMessage .GetReplyMessage (" <p>Reply here.</p>" ). From ( " noreply@example.com " );
3333```
3434
3535You're welcome. 🥲
@@ -69,13 +69,17 @@ var mimeMessages = await imapReceiver.ReadMail
6969 .GetMimeMessagesAsync (cancellationToken );
7070```
7171
72+ Note: Use imapReceiver.ReadMail.Top(#) to get the newest (descending) results.
73+
7274To only download the email parts you want to use:
7375
7476``` csharp
7577var messageSummaries = await imapReceiver .ReadMail
7678 .GetMessageSummariesAsync (cancellationToken );
7779```
7880
81+ Note: MailKit returns results in ascending order by default, use messageSummaries.Reverse() to get descending results.
82+
7983To query unread emails from the IMAP server and specify which message parts to download:
8084
8185``` csharp
Original file line number Diff line number Diff line change @@ -318,8 +318,10 @@ public async Task<IList<MimeMessage>> GetMimeMessagesAsync(CancellationToken can
318318 }
319319 else if ( ( _take == _all && ! _top . HasValue ) || _searchQuery != _queryAll )
320320 {
321- if ( _take > _queryAmount )
322- _logger . LogWarning ( $ "Take({ _take } ) limited by SearchQuery to 250 results.") ;
321+ if ( _take != _all && ( uint ) _skip + _take > _queryAmount )
322+ _logger . LogWarning ( $ "Skip({ _skip } ).Take({ _take } ) limited by SearchQuery to 250 results.") ;
323+ else if ( _take == _all )
324+ _logger . LogDebug ( "GetMimeMessagesAsync() limited by SearchQuery to 250 results." ) ;
323325 var uniqueIds = await mailFolder . SearchAsync ( _searchQuery , cancellationToken ) . ConfigureAwait ( false ) ;
324326 var descendingUids = new UniqueIdSet ( uniqueIds , SortOrder . Descending ) . Skip ( _skip ) ;
325327 var filteredUids = _take == _all ? descendingUids : descendingUids . Take ( _take ) ;
You can’t perform that action at this time.
0 commit comments