E‑mails filteren van mailserver
Berichten filteren op afzender, ontvanger of datum
De Pop3Client klasse, beschreven in Verbinden met POP3‑server, biedt de ListMessages() methode die alle berichten uit een mailbox haalt. Om alleen berichten te krijgen die aan een bepaalde voorwaarde voldoen, gebruik de overladen ListMessages() methode die neemt MailQuery als argument. De MailQuery klasse biedt diverse eigenschappen om de zoekvoorwaarden te specificeren, bijvoorbeeld datum, onderwerp, afzender, ontvanger enzovoort. De MailQueryBuilder klasse wordt gebruikt om de zoekexpressie op te bouwen. Eerst worden alle voorwaarden en beperkingen ingesteld en daarna MailQuery wordt gevuld met de query ontwikkeld door MailQueryBuilder. De MailQuery klasseobject wordt gebruikt door Pop3Client om de gefilterde informatie van de server te extraheren. Dit artikel laat zien hoe e‑mailberichten uit een mailbox te filteren. Het eerste voorbeeld laat zien hoe berichten te filteren op datum en onderwerp. We laten ook zien hoe op andere criteria te filteren en hoe complexere query’s te bouwen. Het toont tevens het gebruik van datum‑ en tijdfilters om specifieke e‑mails uit de mailbox te halen. Daarnaast wordt getoond hoe hoofdlettergevoelig te filteren.
Berichten filteren uit mailbox
Om berichten uit een mailbox te filteren:
- Verbinden met POP3‑server.
- Maak een instantie van MailQuery en stel de gewenste eigenschappen in.
- Roep de Pop3Client.ListMessages(MailQuery query) methode en geef de MailQuery in parameters om alleen de gefilterde berichten op te halen.
Het volgende codefragment toont hoe je verbinding maakt met een POP3-mailbox en berichten ophaalt die vandaag zijn aangekomen en het woord "newsletter" in het onderwerp hebben.
Berichten ophalen op specifieke criteria
De bovenstaande codevoorbeelden laat zien hoe je berichten kunt filteren op e‑mailonderwerp en datum. We kunnen ook andere eigenschappen gebruiken om andere ondersteunde voorwaarden in te stellen. Hieronder staan enkele voorbeelden van het instellen van de voorwaarden met behulp van MailQuery.
De volgende codefragmenten tonen hoe e-mails gefilterd kunnen worden op andere criteria:
- Zoek e-mails die vandaag zijn afgeleverd.
- Zoek e-mails ontvangen binnen een bereik.
- Zoek e-mails van een specifieke afzender.
- Zoek e-mails die van een specifiek domein zijn verzonden.
- Zoek e-mails die naar een specifieke ontvanger zijn gestuurd.
Datum van vandaag
Het volgende codefragment toont hoe je e-mails vindt die vandaag zijn afgeleverd.
Datumbereik
Het volgende codefragment toont hoe je e-mails vindt die binnen een bereik zijn ontvangen.
Specifieke afzender
Het volgende codefragment toont hoe je e-mails vindt van een specifieke afzender.
Specifiek domein
Het volgende codefragment toont hoe je e-mails vindt die van een specifiek domein zijn verzonden.
Specifieke ontvanger
Het volgende codefragment toont hoe je e-mails vindt die naar een specifieke ontvanger zijn gestuurd.
Complexe query’s bouwen
Als verschillend MailQueryBuilder eigenschappen worden ingesteld in afzonderlijke statements, waarna alle voorwaarden voldaan zijn. Bijvoorbeeld, als we berichten willen ophalen tussen een datumbereik en van een specifieke host, moeten we drie statements schrijven.
Queries combineren met AND
Het volgende codefragment toont hoe je queries combineert met AND.
Queries combineren met OR
MailQueryBuilder biedt de Or() methode die twee MailQuery instanties als parameters. Het haalt de berichten op die voldoen aan een van de twee opgegeven voorwaarden. De volgende code‑fragment toont hoe berichten te filteren die ofwel “test” in het onderwerp hebben of "noreply@host.com" als afzender. De volgende code‑fragment laat zien hoe query’s te combineren met OR.
Hoofdlettergevoelige filters
De API biedt ook de mogelijkheid om e-mails uit de mailbox te filteren op basis van een hoofdlettergevoelige criterium. De volgende methoden bieden de mogelijkheid om e-mails te zoeken met een hoofdlettergevoelige vlag.
- 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)