我需要根据可用的标题过滤邮件。
我使用类似“TO:admin@mysite.com”之类的“To”字段,但我还需要将过滤器应用于“From”字段,但from字段是动态的 - 它可以是admin @ yoursite。 com或support@yoursite.com或任何other@yoursite.com域名,因此from字段永远不会相同。所以我想知道“From”字段是否有“喜欢”过滤器,或者任何更好的解决方案,所以我可以设置像“%@yoursite.com”这样的东西,这样它会是动态的吗?
答案 0 :(得分:1)
您可以将子字符串用于imap_search函数,因此以下代码适用于您的情况:
imap_search($conn, 'TO "admin@mysite.com" FROM "@yoursite.com"');
修改:从搜索中删除了@
符号。
Edit2 :我查看了imap_search
页面上提到的RFC,即2060和1176,他们对{{{ 1}}在地址中签名,也不用于在地址中搜索时不应使用的任何其他字符。
我在我的邮件服务器上尝试了这个代码并且确实有效,所以在搜索地址时允许使用@
(如果没有,则会没用)。
@
所以你绝对可以使用<?php
$conn = imap_open('{imap.example.com:993/imap/ssl}INBOX', 'foo@example.com', 'pass123', OP_READONLY);
$some = imap_search($conn, 'FROM "@example.com"', SE_UID);
,因为它会匹配你所要求的。