PHP - Funzione imap_search ()
Le funzioni PHP − IMAP ti aiutano ad accedere agli account di posta elettronica, IMAP sta per Internet Mail Access Protocol usando queste funzioni puoi anche lavorare con i protocolli NNTP, POP3 e metodi di accesso alla casella di posta locale.
Il imap_search() accetta un valore di risorsa che rappresenta un flusso IMAP e un valore stringa che rappresenta i criteri di ricerca come parametri, cerca nella cassetta postale e restituisce i messaggi corrispondenti sotto forma di matrice.
Sintassi
imap_search($imap_stream, $criteria, [$options, $charset]);
Parametri
Suor n | Parametro e descrizione |
---|---|
1 | imap_stream (Mandatory)s Si tratta di un valore stringa che rappresenta un flusso IMAP, valore di ritorno di imap_open() funzione. |
2 | criteria (Mandatory) Questo è un valore stringa che rappresenta i criteri di ricerca. |
3 | options (Optional) Questo è un valore stringa che rappresenta il valore opzionale SE_UID. Quando si imposta l'array, la risintonizzazione contiene gli UID invece delle sequenze di messaggi. |
4 | $charset (Optional) Questo è un valore stringa che rappresenta il set di caratteri MIME da utilizzare durante la ricerca. |
Valori restituiti
Questa funzione restituisce un array che contiene i numeri di messaggio / UID che rappresentano i messaggi corrispondenti in caso di successo e un valore booleano FALSE in caso di errore.
Versione PHP
Questa funzione è stata introdotta per la prima volta nella versione 4 di PHP e funziona in tutte le versioni successive.
Esempio
Di seguito è riportato un altro esempio di questa funzione:
<html>
<body>
<?php
//Establishing connection
$url = "{imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX";
$id = "[email protected]";
$pwd = "cohondob_123";
$imap = imap_open($url, $id, $pwd);
print("Connection established...."."<br>");
print("Results of the search: "."<br>");
$emailData = imap_search($imap, '');
print_r($emailData);
//Closing the connection
imap_close($imap);
?>
</body>
</html>
Questo genera il seguente output:
Connection established....
Results of the search:
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 )
Esempio
Di seguito è riportato un altro esempio di questa funzione; questo legge i messaggi invisibili nella posta in arrivo corrente -
<html>
<body>
<?php
//Establishing connection
$url = "{imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX";
$id = "[email protected]";
$pwd = "cohondob_123";
$imap = imap_open($url, $id, $pwd);
print("Connection established...."."<br>");
print("Contents of the matched messages: "."<br>");
$emailData = imap_search($imap, "UNSEEN");
foreach ($emailData as $msg) {
$msg = imap_fetchbody($imap, $msg, "1");
print(quoted_printable_decode($msg)."<br>");
}
//Closing the connection
imap_close($imap);
?>
</body>
</html>
Produzione
Questo genererà il seguente output:
Connection established....
Contents of the matched messages:
Array ( [0] => 4 [1] => 5 [2] => 6 )
#sample_mail4
#sample_mail5
#sample_mail6
Esempio
Di seguito è riportato un esempio di questa funzione con parametri opzionali:
<html>
<body>
<?php
//Establishing connection
$url = "{imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX";
$id = "[email protected]";
$pwd = "cohondob_123";
$imap = imap_open($url, $id, $pwd);
print("Connection established...."."<br>");
print("Contents of the matched messages: "."<br>");
$data = imap_search($imap, "ALL", SE_UID);
print_r($data);
//Closing the connection
imap_close($imap);
?>
</body>
</html>
Produzione
Questo genererà il seguente output:
Connection established....
Contents of the matched messages:
Array (
[0] => 19
[1] => 20
[2] => 42
[3] => 49
[4] => 50
[5] => 51
)