Использование фильтров imap_search в PHP - PullRequest
0 голосов
/ 31 августа 2011

Мне нужно отфильтровать письма на основе доступных заголовков.

Я сделал для поля «Кому» что-то вроде «TO: admin@mysite.com», но мне также нужно применить фильтрв поле «От», но поле «от» является динамическим - это может быть admin@yoursite.com, support@yoursite.com или любой другой домен@yoursite.com, поэтому поле «от» никогда не будет прежним.Поэтому я хотел узнать, есть ли какой-нибудь фильтр «как» для поля «От» или какое-нибудь лучшее решение, чтобы я мог установить что-то вроде «%@yoursite.com», чтобы оно было динамичным?

1 Ответ

1 голос
/ 31 августа 2011

Вы можете использовать подстроку для функции imap_search , поэтому в вашем случае должен работать следующий код:

imap_search($conn, 'TO "admin@mysite.com" FROM "@yoursite.com"');

Редактировать : убран знак @из поиска.

Edit2 : Я посмотрел оба RFC, упомянутых на странице imap_search, т.е. 2060 и 1176 , онине говорите ничего о @ в адресе, а также о любом другом символе, который не следует использовать при поиске по адресам.

Я попробовал этот код на своем почтовом сервере, и он работает, поэтому @ разрешено при поиске адресов (было бы бесполезно, если бы не имело).

<?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);

Так что вы определенно можете использовать @, так как он будет соответствовать тому, что вы запросили.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...