PHP - imap_getsubscribed() Function
PHP−IMAP functions helps you to access email accounts, IMAP stands for Internet Mail Access Protocol using these functions you can also work with NNTP, POP3 protocols and local mailbox access methods.
The imap_getsubscribed() function accepts a resource value representing an IMAP stream, two string values representing the server specification and mailbox hierarchy as parameters and, reads/retrieves information about all the subscribed mailboxes.
Syntax
imap_getsubscribed($imap_stream, $ref, $pattern);
Parameters
| Sr.No | Parameter & Description |
|---|---|
| 1 |
imap_stream (Mandatory) This is a string value representing an IMAP stream, return value of the imap_open() function. |
| 2 |
ref (Mandatory) This is a string value representing the server specification. |
| 3 |
pattern (Mandatory) This is a string value representing the start of the mailbox hierarchy search. |
Return Values
This function returns an array of objects where each object holds information about the subscribed mailboxes.
PHP Version
This function was first introduced in PHP Version 4 and works in all the later versions.
Example
Following example demonstrates the usage of the imap_getsubscribed() function −
<html>
<body>
<?php
//Establishing connection
$url = "{imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX";
$id = "tutorialspoint.test@gmail.com";
$pwd = "cohondob_123";
$imap = imap_open($url, $id, $pwd);
print("Connection established...."."<br>");
//Subscribing to the mailbox
$res = imap_subscribe($imap, $url);
//Retrieving the list of subscribed mailboxes
$list = imap_getsubscribed($imap, $url, "*" );
print_r($list);
//Closing the connection
imap_close($imap);
?>
</body>
</html>
Output
This will generate the following output −
Connection established....
Array (
[0] => stdClass Object (
[name] => {imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX
[attributes] => 64 [delimiter] => /
)
[1] => stdClass Object (
[name] => {imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX.mail_box1
[attributes] => 64 [delimiter] => /
)
[2] => stdClass Object (
[name] => {imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX.mail_box2
[attributes] => 64 [delimiter] => /
)
[3] => stdClass Object (
[name] => {imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX.mbox_1
[attributes] => 64 [delimiter] => /
)
[4] => stdClass Object (
[name] => {imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX.mbox_2
[attributes] => 64 [delimiter] => /
)
)
Example
Following is another example of this function −
<html>
<body>
<?php
//Establishing connection
$url = "{imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX";
$id = "tutorialspoint.test@gmail.com";
$pwd = "cohondob_123";
$imap = imap_open($url, $id, $pwd);
print("Connection established...."."<br>");
//Creating a mailbox
$newmailbox1 = "{imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX.test_mail1";
$newmailbox2 = "{imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX.test_mail2";
$newmailbox3 = "{imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX.test_mail3";
imap_createmailbox($imap, imap_utf7_encode($newmailbox1));
imap_createmailbox($imap, imap_utf7_encode($newmailbox2));
imap_createmailbox($imap, imap_utf7_encode($newmailbox3));
print("Mailboxes Created . . . . "."<br>");
//Subscribing to the mailbox
$res = imap_subscribe($imap, $newmailbox1);
$res = imap_subscribe($imap, $newmailbox2);
$res = imap_subscribe($imap, $newmailbox3);
print("Subscribed to the created mailboxes . . . . "."<br>");
//List of subscribed mailboxes
print("List of subscribed mailboxes . . . . "."<br>");
$list = imap_getsubscribed($imap, $url, "*" );
print_r($list);
//Closing the connection
imap_close($imap);
?>
</body>
</html>
Output
This will generate the following output −
Connection established....
Mailboxes Created . . . .
Subscribed to the created mailboxes . . . .
List of subscribed mailboxes . . . .
Array (
[0] => stdClass Object (
[name] => {imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX
[attributes] => 64 [delimiter] => /
)
[1] => stdClass Object (
[name] => [delimiter] => /
)
[9] => stdClass Object (
[name] => {imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX.test_mail1
[attributes] => 64 [delimiter] => /
)
[10] => stdClass Object (
[name] => {imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX.test_mail2
[attributes] => 64 [delimiter] => /
)
[11] => stdClass Object (
[name] => {imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX.test_mail3
[attributes] => 64 [delimiter] => /
)
)