从邮件服务器过滤电子邮件
按发件人、收件人或日期过滤邮件
该 Pop3Client 类,详见 连接到 POP3 服务器,提供 ListMessages() 方法获取邮箱中的所有邮件。若只获取符合某些条件的邮件,请使用重载的 ListMessages() 方法接受 MailQuery 作为参数。 MailQuery 类提供了多种属性用于指定查询条件,例如日期、主题、发件人、收件人等。 MailQueryBuilder 类用于构建搜索表达式。首先设置所有条件和约束,然后 MailQuery 被填充为由 … 开发的查询 MailQueryBuilder。该 MailQuery 类对象被用于 Pop3Client 从服务器提取过滤后的信息。本文展示了如何从邮箱过滤电子邮件。第一个示例说明了如何根据日期和主题过滤邮件。我们还展示了如何根据其他条件过滤以及如何构建更复杂的查询。还展示了日期时间过滤的应用,以检索邮箱中的特定邮件。此外,还展示了如何应用区分大小写的过滤。
从邮箱过滤邮件
过滤邮箱中的消息:
- 连接到 POP3 服务器.
- 创建以下实例: MailQuery 并设置所需的属性。
- 调用 Pop3Client.ListMessages(MailQuery query) 方法并传递 MailQuery 作为参数仅获取过滤后的邮件。
下面的代码片段展示了如何连接到 POP3 邮箱并获取今天到达且主题中包含 “newsletter” 的邮件。
按特定条件检索邮件
上述代码示例 展示了如何根据邮件主题和日期过滤邮件。我们也可以使用其他属性来设置其他支持的条件。以下是使用 MailQuery.
以下代码片段展示了如何根据其他条件过滤电子邮件:
- 查找今天发送的电子邮件。
- 查找在特定范围内接收的电子邮件。
- 查找来自特定发送者的电子邮件。
- 查找来自特定域的电子邮件。
- 查找发送给特定收件人的电子邮件。
今天的日期
下面的代码片段展示了如何查找今天发送的电子邮件。
日期范围
下面的代码片段展示了如何查找在特定时间范围内收到的电子邮件。
特定发送者
下面的代码片段展示了如何查找来自特定发送者的电子邮件。
特定域
下面的代码片段展示了如何查找来自特定域的电子邮件。
特定收件人
下面的代码片段展示了如何查找发送给特定收件人的电子邮件。
构建复杂查询
如果不同 MailQueryBuilder 属性在独立的语句中设置时,所有条件都会被匹配。例如,如果我们想获取特定日期范围内且来自特定主机的邮件,需要编写三条语句。
使用 AND 合并查询
下面的代码片段展示了如何使用 AND 组合查询。
使用 OR 合并查询
MailQueryBuilder 提供了 Or() 接受两个 MailQuery 实例作为参数。它获取匹配任意两个指定条件的邮件。以下代码片段展示了如何过滤主题中包含 “test” 或发件人为 "noreply@host.com" 的邮件。以下代码片段展示了如何使用 OR 组合查询。
区分大小写的过滤器
API 还提供基于区分大小写的条件过滤邮箱电子邮件的功能。以下方法提供了使用区分大小写标志搜索电子邮件的能力。
- 方法 Aspose.Email.StringComparisonField.Contains(string value, bool ignoreCase)
- 方法 Aspose.Email.StringComparisonField.Equals(string value, bool ignoreCase)
- 方法 Aspose.Email.StringComparisonField.NotContains(string value, bool ignoreCase)
- 方法 Aspose.Email.StringComparisonField.NotEquals(string value, bool ignoreCase)