| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- <?php
- class Imap {
- private $id = NULL;
- private $server = NULL;
- private $hostname = NULL;
- private $port = NULL;
- private $protocol = NULL;
- private $useSsl = NULL;
- private $noValidCert = NULL;
- private $username = NULL;
- private $password = NULL;
- private $mailbox = NULL;
- private $folders = NULL;
- public function __construct($id, $hostname, $port, $protocol, $useSsl, $noValidCert, $username, $password) {
- $this->id = $id;
- $this->hostname = $hostname;
- $this->port = $port;
- $this->protocol = $protocol;
- $this->useSsl = $useSsl;
- $this->noValidCert = $noValidCert;
- $this->username = $username;
- $this->password = $password;
- // '{' . $mailbox->server . ':' . $mailbox->port . '/' . $mailbox->protocol . $useSsl . $noValidCert . '}'
- $this->server = '{' . $this->hostname . ':' . $this->port . '/' . $this->protocol . $this->useSsl . $this->noValidCert . '}';
- $this->mailbox = imap_open($this->server . 'INBOX', $this->username, $this->password) or error('Failed to connect to IMAP: ' . $this->username . '@' . $this->hostname);
- }
- public function changeFolder($folder) {
- imap_reopen($this->mailbox, $this->server . $folder);
- }
- public function listFolders() {
- $newFolders = array();
- $folders = imap_list($this->mailbox, $this->server, "*");
- foreach($folders as $folder) {
- $newFolders[] = preg_replace('/(\{(.*)\})(.*)/', '${3}', $folder);
- }
- $this->folders = $newFolders;
- }
- public function getId() {
- return $this->id;
- }
- public function getFolders() {
- return $this->folders;
- }
- public function getServer() {
- return $this->server;
- }
- public function getMailbox() {
- return $this->mailbox;
- }
- public function getHostname() {
- return $this->hostname;
- }
- public function getPort() {
- return $this->port;
- }
- public function getProtocol() {
- return $this->protocol;
- }
- public function getUseSsl() {
- return $this->useSsl;
- }
- public function getNoValidCert() {
- return $this->noValidCert;
- }
- public function getUsername() {
- return $this->username;
- }
- }
|