Filtrera e-post från e-postserver

Filtrera meddelanden efter avsändare, mottagare eller datum

Den Pop3Client klass, beskriven i Anslut till POP3‑server, tillhandahåller ListMessages() metod som hämtar alla meddelanden från en brevlåda. För att bara få meddelanden som matchar ett villkor, använd den överlagrade ListMessages() metod som tar MailQuery som argument. MailQuery klass tillhandahåller olika egenskaper för att specificera sökvillkor, till exempel datum, ämne, avsändare, mottagare osv.  MailQueryBuilder klass används för att bygga sökuttrycket. Först sätts alla villkor och begränsningar och sedan MailQuery fylls med frågan utvecklad av MailQueryBuilder. Klassen MailQuery klassobjekt används av Pop3Client för att extrahera den filtrerade informationen från servern. Denna artikel visar hur man filtrerar e‑postmeddelanden från en brevlåda. Det första exemplet illustrerar hur man filtrerar meddelanden baserat på datum och ämne. Vi visar också hur man filtrerar på andra kriterier och hur man bygger mer komplexa frågor. Det visar även användning av datum- och tidsfilter för att hämta specifika e‑postmeddelanden från brevlådan. Dessutom visar det hur man tillämpar skiftlägeskänslig filtrering.

Filtrera meddelanden från brevlåda

För att filtrera meddelanden från en brevlåda:

  1. Anslut till POP3-server.
  2. Skapa en instans av MailQuery och sätt önskade egenskaper.
  3. Anropa Pop3Client.ListMessages(MailQuery query) metod och skicka MailQuery i parametrar för att endast få de filtrerade meddelandena.

Följande kodsnutt visar hur du ansluter till en POP3‑brevlåda och får meddelanden som anlände idag och har ordet "newsletter" i ämnet.

Hämta meddelanden efter specifika kriterier

Kodexemplen ovan visar hur du kan filtrera meddelanden baserat på e‑postens ämne och datum. Vi kan också använda andra egenskaper för att ange andra stödda villkor. Nedan följer några exempel på hur man ställer in villkoren med hjälp av MailQuery.

Kodsnuttarna nedan visar hur man filtrerar e‑post efter andra kriterier:

  • Hitta e‑post levererad idag.
  • Hitta e‑post mottagen inom ett intervall.
  • Hitta e‑post från en specifik avsändare.
  • Hitta e‑post som skickats från en specifik domän.
  • Hitta e‑post som skickats till en specifik mottagare.

Dagens datum

Följande kodsnutt visar hur du hittar e‑post som levererats idag.

Datumintervall

Följande kodsnutt visar hur du hittar e‑post mottagen inom ett intervall.

Specifik avsändare

Följande kodsnutt visar hur du hittar e‑post från en specifik avsändare.

Specifik domän

Följande kodsnutt visar hur du hittar e‑post som skickats från en specifik domän.

Specifik mottagare

Följande kodsnutt visar hur du hittar e‑post som skickats till en specifik mottagare.

Bygg komplexa frågor

Om olika MailQueryBuilder egenskaper sätts i separata satser, då matchas alla villkor. Till exempel, om vi vill hämta meddelanden inom ett datumintervall och från en specifik värd, måste vi skriva tre satser.

Kombinera frågor med AND

Följande kodsnutt visar hur man kombinerar frågor med AND.

Kombinera frågor med OR

MailQueryBuilder tillhandahåller Or() metod som tar två MailQuery instanser som parametrar. Den hämtar meddelanden som matchar något av de två specificerade villkoren. Följande kodsnutt visar hur man filtrerar meddelanden som antingen har ”test” i ämnet eller "noreply@host.com" som avsändare. Följande kodsnutt visar hur du kombinerar frågor med OR.

Skiftlägeskänsliga filter

API:et ger också möjlighet att filtrera e‑post från brevlådan baserat på ett skiftlägeskänsligt kriterium. Följande metoder ger möjlighet att söka e‑post med angivet skiftlägeskänsligt flagga.

  • Method Aspose.Email.StringComparisonField.Contains(string value, bool ignoreCase)
  • Method Aspose.Email.StringComparisonField.Equals(string value, bool ignoreCase)
  • Method Aspose.Email.StringComparisonField.NotContains(string value, bool ignoreCase)
  • Method Aspose.Email.StringComparisonField.NotEquals(string value, bool ignoreCase)