PHP-IMAP là trình bao bọc cho giao tiếp IMAP phổ biến mà không cần cài đặt/bật mô-đun php-imap. Giao thức được tích hợp hoàn toàn và do đó hỗ trợ hoạt động IMAP IDLE cũng như quy trình xác thực oAuth "mới". Bạn có thể bật mô-đun
use Webklex\PHPIMAP\ClientManager; use Webklex\PHPIMAP\Client; $cm = new ClientManager['path/to/config/imap.php']; // or use an array of options instead $cm = new ClientManager[$options = []]; /** @var \Webklex\PHPIMAP\Client $client */ $client = $cm->account['account_identifier']; // or create a new instance manually $client = $cm->make[[ 'host' => 'somehost.com', 'port' => 993, 'encryption' => 'ssl', 'validate_cert' => true, 'username' => 'username', 'password' => 'password', 'protocol' => 'imap' ]]; //Connect to the IMAP Server $client->connect[]; //Get all Mailboxes /** @var \Webklex\PHPIMAP\Support\FolderCollection $folders */ $folders = $client->getFolders[]; //Loop through every Mailbox /** @var \Webklex\PHPIMAP\Folder $folder */ foreach[$folders as $folder]{ //Get all Messages of the current Mailbox $folder /** @var \Webklex\PHPIMAP\Support\MessageCollection $messages */ $messages = $folder->messages[]->all[]->get[]; /** @var \Webklex\PHPIMAP\Message $message */ foreach[$messages as $message]{ echo $message->getSubject[].'1 để xử lý các trường hợp cạnh, cải thiện chất lượng giải mã tin nhắn và được yêu cầu nếu bạn muốn sử dụng các giao thức cũ như pop3
'; echo 'Attachments: '.$message->getAttachments[]->count[].'
'; echo $message->getHTMLBody[]; //Move the current Message to 'INBOX.read' if[$message->move['INBOX.read'] == true]{ echo 'Message has ben moved'; }else{ echo 'Message could not be moved'; } } }
Wiki. webklex/php-imap/wiki
Trình bao bọc Laravel. webklex/laravel-imap
Mục lục
Cài đặt
1. ] Cài đặt module giải mã
sudo apt-get install php*-mbstring php*-mcrypt && sudo apache2ctl graceful
1. 1. ] [tùy chọn] Cài đặt mô-đun php-imap nếu bạn gặp sự cố mã hóa
sudo apt-get install php*-imap && sudo apache2ctl graceful
Bạn cũng có thể muốn kiểm tra
use Webklex\PHPIMAP\ClientManager; use Webklex\PHPIMAP\Client; $cm = new ClientManager['path/to/config/imap.php']; // or use an array of options instead $cm = new ClientManager[$options = []]; /** @var \Webklex\PHPIMAP\Client $client */ $client = $cm->account['account_identifier']; // or create a new instance manually $client = $cm->make[[ 'host' => 'somehost.com', 'port' => 993, 'encryption' => 'ssl', 'validate_cert' => true, 'username' => 'username', 'password' => 'password', 'protocol' => 'imap' ]]; //Connect to the IMAP Server $client->connect[]; //Get all Mailboxes /** @var \Webklex\PHPIMAP\Support\FolderCollection $folders */ $folders = $client->getFolders[]; //Loop through every Mailbox /** @var \Webklex\PHPIMAP\Folder $folder */ foreach[$folders as $folder]{ //Get all Messages of the current Mailbox $folder /** @var \Webklex\PHPIMAP\Support\MessageCollection $messages */ $messages = $folder->messages[]->all[]->get[]; /** @var \Webklex\PHPIMAP\Message $message */ foreach[$messages as $message]{ echo $message->getSubject[].'2 nếu tiện ích mở rộng được bật
'; echo 'Attachments: '.$message->getAttachments[]->count[].'
'; echo $message->getHTMLBody[]; //Move the current Message to 'INBOX.read' if[$message->move['INBOX.read'] == true]{ echo 'Message has ben moved'; }else{ echo 'Message could not be moved'; } } }
2. ] Bây giờ hãy cài đặt gói PHP-IMAP bằng cách chạy lệnh sau
composer require webklex/php-imap
3. ] Tạo tệp cấu hình tùy chỉnh của riêng bạn như config/imap. php
Cấu hình
giao thức được hỗ trợ
use Webklex\PHPIMAP\ClientManager; use Webklex\PHPIMAP\Client; $cm = new ClientManager['path/to/config/imap.php']; // or use an array of options instead $cm = new ClientManager[$options = []]; /** @var \Webklex\PHPIMAP\Client $client */ $client = $cm->account['account_identifier']; // or create a new instance manually $client = $cm->make[[ 'host' => 'somehost.com', 'port' => 993, 'encryption' => 'ssl', 'validate_cert' => true, 'username' => 'username', 'password' => 'password', 'protocol' => 'imap' ]]; //Connect to the IMAP Server $client->connect[]; //Get all Mailboxes /** @var \Webklex\PHPIMAP\Support\FolderCollection $folders */ $folders = $client->getFolders[]; //Loop through every Mailbox /** @var \Webklex\PHPIMAP\Folder $folder */ foreach[$folders as $folder]{ //Get all Messages of the current Mailbox $folder /** @var \Webklex\PHPIMAP\Support\MessageCollection $messages */ $messages = $folder->messages[]->all[]->get[]; /** @var \Webklex\PHPIMAP\Message $message */ foreach[$messages as $message]{ echo $message->getSubject[].'
3 — Sử dụng IMAP [mặc định]
'; echo 'Attachments: '.$message->getAttachments[]->count[].'
'; echo $message->getHTMLBody[]; //Move the current Message to 'INBOX.read' if[$message->move['INBOX.read'] == true]{ echo 'Message has ben moved'; }else{ echo 'Message could not be moved'; } } }use Webklex\PHPIMAP\ClientManager; use Webklex\PHPIMAP\Client; $cm = new ClientManager['path/to/config/imap.php']; // or use an array of options instead $cm = new ClientManager[$options = []]; /** @var \Webklex\PHPIMAP\Client $client */ $client = $cm->account['account_identifier']; // or create a new instance manually $client = $cm->make[[ 'host' => 'somehost.com', 'port' => 993, 'encryption' => 'ssl', 'validate_cert' => true, 'username' => 'username', 'password' => 'password', 'protocol' => 'imap' ]]; //Connect to the IMAP Server $client->connect[]; //Get all Mailboxes /** @var \Webklex\PHPIMAP\Support\FolderCollection $folders */ $folders = $client->getFolders[]; //Loop through every Mailbox /** @var \Webklex\PHPIMAP\Folder $folder */ foreach[$folders as $folder]{ //Get all Messages of the current Mailbox $folder /** @var \Webklex\PHPIMAP\Support\MessageCollection $messages */ $messages = $folder->messages[]->all[]->get[]; /** @var \Webklex\PHPIMAP\Message $message */ foreach[$messages as $message]{ echo $message->getSubject[].'
4 — Thay vào đó, hãy sử dụng mô-đun php imap
'; echo 'Attachments: '.$message->getAttachments[]->count[].'
'; echo $message->getHTMLBody[]; //Move the current Message to 'INBOX.read' if[$message->move['INBOX.read'] == true]{ echo 'Message has ben moved'; }else{ echo 'Message could not be moved'; } } }use Webklex\PHPIMAP\ClientManager; use Webklex\PHPIMAP\Client; $cm = new ClientManager['path/to/config/imap.php']; // or use an array of options instead $cm = new ClientManager[$options = []]; /** @var \Webklex\PHPIMAP\Client $client */ $client = $cm->account['account_identifier']; // or create a new instance manually $client = $cm->make[[ 'host' => 'somehost.com', 'port' => 993, 'encryption' => 'ssl', 'validate_cert' => true, 'username' => 'username', 'password' => 'password', 'protocol' => 'imap' ]]; //Connect to the IMAP Server $client->connect[]; //Get all Mailboxes /** @var \Webklex\PHPIMAP\Support\FolderCollection $folders */ $folders = $client->getFolders[]; //Loop through every Mailbox /** @var \Webklex\PHPIMAP\Folder $folder */ foreach[$folders as $folder]{ //Get all Messages of the current Mailbox $folder /** @var \Webklex\PHPIMAP\Support\MessageCollection $messages */ $messages = $folder->messages[]->all[]->get[]; /** @var \Webklex\PHPIMAP\Message $message */ foreach[$messages as $message]{ echo $message->getSubject[].'
5 — Sử dụng POP3
'; echo 'Attachments: '.$message->getAttachments[]->count[].'
'; echo $message->getHTMLBody[]; //Move the current Message to 'INBOX.read' if[$message->move['INBOX.read'] == true]{ echo 'Message has ben moved'; }else{ echo 'Message could not be moved'; } } }use Webklex\PHPIMAP\ClientManager; use Webklex\PHPIMAP\Client; $cm = new ClientManager['path/to/config/imap.php']; // or use an array of options instead $cm = new ClientManager[$options = []]; /** @var \Webklex\PHPIMAP\Client $client */ $client = $cm->account['account_identifier']; // or create a new instance manually $client = $cm->make[[ 'host' => 'somehost.com', 'port' => 993, 'encryption' => 'ssl', 'validate_cert' => true, 'username' => 'username', 'password' => 'password', 'protocol' => 'imap' ]]; //Connect to the IMAP Server $client->connect[]; //Get all Mailboxes /** @var \Webklex\PHPIMAP\Support\FolderCollection $folders */ $folders = $client->getFolders[]; //Loop through every Mailbox /** @var \Webklex\PHPIMAP\Folder $folder */ foreach[$folders as $folder]{ //Get all Messages of the current Mailbox $folder /** @var \Webklex\PHPIMAP\Support\MessageCollection $messages */ $messages = $folder->messages[]->all[]->get[]; /** @var \Webklex\PHPIMAP\Message $message */ foreach[$messages as $message]{ echo $message->getSubject[].'
6 — Sử dụng NNTP
'; echo 'Attachments: '.$message->getAttachments[]->count[].'
'; echo $message->getHTMLBody[]; //Move the current Message to 'INBOX.read' if[$message->move['INBOX.read'] == true]{ echo 'Message has ben moved'; }else{ echo 'Message could not be moved'; } } }
Các phương pháp mã hóa sau đây được hỗ trợ
use Webklex\PHPIMAP\ClientManager; use Webklex\PHPIMAP\Client; $cm = new ClientManager['path/to/config/imap.php']; // or use an array of options instead $cm = new ClientManager[$options = []]; /** @var \Webklex\PHPIMAP\Client $client */ $client = $cm->account['account_identifier']; // or create a new instance manually $client = $cm->make[[ 'host' => 'somehost.com', 'port' => 993, 'encryption' => 'ssl', 'validate_cert' => true, 'username' => 'username', 'password' => 'password', 'protocol' => 'imap' ]]; //Connect to the IMAP Server $client->connect[]; //Get all Mailboxes /** @var \Webklex\PHPIMAP\Support\FolderCollection $folders */ $folders = $client->getFolders[]; //Loop through every Mailbox /** @var \Webklex\PHPIMAP\Folder $folder */ foreach[$folders as $folder]{ //Get all Messages of the current Mailbox $folder /** @var \Webklex\PHPIMAP\Support\MessageCollection $messages */ $messages = $folder->messages[]->all[]->get[]; /** @var \Webklex\PHPIMAP\Message $message */ foreach[$messages as $message]{ echo $message->getSubject[].'
7 — Tắt mã hóa
'; echo 'Attachments: '.$message->getAttachments[]->count[].'
'; echo $message->getHTMLBody[]; //Move the current Message to 'INBOX.read' if[$message->move['INBOX.read'] == true]{ echo 'Message has ben moved'; }else{ echo 'Message could not be moved'; } } }use Webklex\PHPIMAP\ClientManager; use Webklex\PHPIMAP\Client; $cm = new ClientManager['path/to/config/imap.php']; // or use an array of options instead $cm = new ClientManager[$options = []]; /** @var \Webklex\PHPIMAP\Client $client */ $client = $cm->account['account_identifier']; // or create a new instance manually $client = $cm->make[[ 'host' => 'somehost.com', 'port' => 993, 'encryption' => 'ssl', 'validate_cert' => true, 'username' => 'username', 'password' => 'password', 'protocol' => 'imap' ]]; //Connect to the IMAP Server $client->connect[]; //Get all Mailboxes /** @var \Webklex\PHPIMAP\Support\FolderCollection $folders */ $folders = $client->getFolders[]; //Loop through every Mailbox /** @var \Webklex\PHPIMAP\Folder $folder */ foreach[$folders as $folder]{ //Get all Messages of the current Mailbox $folder /** @var \Webklex\PHPIMAP\Support\MessageCollection $messages */ $messages = $folder->messages[]->all[]->get[]; /** @var \Webklex\PHPIMAP\Message $message */ foreach[$messages as $message]{ echo $message->getSubject[].'
8 — Sử dụng SSL
'; echo 'Attachments: '.$message->getAttachments[]->count[].'
'; echo $message->getHTMLBody[]; //Move the current Message to 'INBOX.read' if[$message->move['INBOX.read'] == true]{ echo 'Message has ben moved'; }else{ echo 'Message could not be moved'; } } }use Webklex\PHPIMAP\ClientManager; use Webklex\PHPIMAP\Client; $cm = new ClientManager['path/to/config/imap.php']; // or use an array of options instead $cm = new ClientManager[$options = []]; /** @var \Webklex\PHPIMAP\Client $client */ $client = $cm->account['account_identifier']; // or create a new instance manually $client = $cm->make[[ 'host' => 'somehost.com', 'port' => 993, 'encryption' => 'ssl', 'validate_cert' => true, 'username' => 'username', 'password' => 'password', 'protocol' => 'imap' ]]; //Connect to the IMAP Server $client->connect[]; //Get all Mailboxes /** @var \Webklex\PHPIMAP\Support\FolderCollection $folders */ $folders = $client->getFolders[]; //Loop through every Mailbox /** @var \Webklex\PHPIMAP\Folder $folder */ foreach[$folders as $folder]{ //Get all Messages of the current Mailbox $folder /** @var \Webklex\PHPIMAP\Support\MessageCollection $messages */ $messages = $folder->messages[]->all[]->get[]; /** @var \Webklex\PHPIMAP\Message $message */ foreach[$messages as $message]{ echo $message->getSubject[].'
9 — Sử dụng TLS
'; echo 'Attachments: '.$message->getAttachments[]->count[].'
'; echo $message->getHTMLBody[]; //Move the current Message to 'INBOX.read' if[$message->move['INBOX.read'] == true]{ echo 'Message has ben moved'; }else{ echo 'Message could not be moved'; } } }sudo apt-get install php*-mbstring php*-mcrypt && sudo apache2ctl graceful
20 — Sử dụng STARTTLS [tLS bí danh] [chỉ phiên bản cũ]sudo apt-get install php*-mbstring php*-mcrypt && sudo apache2ctl graceful
21 — Sử dụng NoTLS [chỉ cũ]
Cấu hình/imap chi tiết. cấu hình php
sudo apt-get install php*-mbstring php*-mcrypt && sudo apache2ctl graceful
22 — tài khoản mặc định đã sử dụng. Nó sẽ được sử dụng làm mặc định cho mọi tham số tài khoản bị thiếu. Tuy nhiên, nếu tài khoản mặc định thiếu một tham số, gói mặc định sẽ được sử dụng. Đặt thànhuse Webklex\PHPIMAP\ClientManager; use Webklex\PHPIMAP\Client; $cm = new ClientManager['path/to/config/imap.php']; // or use an array of options instead $cm = new ClientManager[$options = []]; /** @var \Webklex\PHPIMAP\Client $client */ $client = $cm->account['account_identifier']; // or create a new instance manually $client = $cm->make[[ 'host' => 'somehost.com', 'port' => 993, 'encryption' => 'ssl', 'validate_cert' => true, 'username' => 'username', 'password' => 'password', 'protocol' => 'imap' ]]; //Connect to the IMAP Server $client->connect[]; //Get all Mailboxes /** @var \Webklex\PHPIMAP\Support\FolderCollection $folders */ $folders = $client->getFolders[]; //Loop through every Mailbox /** @var \Webklex\PHPIMAP\Folder $folder */ foreach[$folders as $folder]{ //Get all Messages of the current Mailbox $folder /** @var \Webklex\PHPIMAP\Support\MessageCollection $messages */ $messages = $folder->messages[]->all[]->get[]; /** @var \Webklex\PHPIMAP\Message $message */ foreach[$messages as $message]{ echo $message->getSubject[].'
7 để tắt chức năng này
'; echo 'Attachments: '.$message->getAttachments[]->count[].'
'; echo $message->getHTMLBody[]; //Move the current Message to 'INBOX.read' if[$message->move['INBOX.read'] == true]{ echo 'Message has ben moved'; }else{ echo 'Message could not be moved'; } } }sudo apt-get install php*-mbstring php*-mcrypt && sudo apache2ctl graceful
24 — tất cả các tài khoản khả dụngsudo apt-get install php*-mbstring php*-mcrypt && sudo apache2ctl graceful
22 — Số nhận dạng tài khoản [trong trường hợp này làsudo apt-get install php*-mbstring php*-mcrypt && sudo apache2ctl graceful
22 nhưng cũng có thể làsudo apt-get install php*-mbstring php*-mcrypt && sudo apache2ctl graceful
27, v.v.]sudo apt-get install php*-mbstring php*-mcrypt && sudo apache2ctl graceful
28 — máy chủ imapsudo apt-get install php*-mbstring php*-mcrypt && sudo apache2ctl graceful
29 — cổng imapsudo apt-get install php*-imap && sudo apache2ctl graceful
20 — phương thức mã hóa mong muốn- ________ 221 — quyết định xem bạn có muốn xác minh chứng chỉ hay không
sudo apt-get install php*-imap && sudo apache2ctl graceful
22 — tên người dùng tài khoản imapsudo apt-get install php*-imap && sudo apache2ctl graceful
23 — mật khẩu tài khoản imapsudo apt-get install php*-imap && sudo apache2ctl graceful
24 — phương thức xác thực imap. Sử dụngsudo apt-get install php*-imap && sudo apache2ctl graceful
25 để sử dụng oAuth cho Google, v.v.
sudo apt-get install php*-imap && sudo apache2ctl graceful
26 — Định dạng ngày tháng mặc định được sử dụng để chuyển đổi bất kỳ Carbon cụ thể nào. đối tượng lớp thành một chuỗi ngày hợp lệ. [sudo apt-get install php*-imap && sudo apache2ctl graceful
27,sudo apt-get install php*-imap && sudo apache2ctl graceful
28,sudo apt-get install php*-imap && sudo apache2ctl graceful
29]use Webklex\PHPIMAP\ClientManager; use Webklex\PHPIMAP\Client; $cm = new ClientManager['path/to/config/imap.php']; // or use an array of options instead $cm = new ClientManager[$options = []]; /** @var \Webklex\PHPIMAP\Client $client */ $client = $cm->account['account_identifier']; // or create a new instance manually $client = $cm->make[[ 'host' => 'somehost.com', 'port' => 993, 'encryption' => 'ssl', 'validate_cert' => true, 'username' => 'username', 'password' => 'password', 'protocol' => 'imap' ]]; //Connect to the IMAP Server $client->connect[]; //Get all Mailboxes /** @var \Webklex\PHPIMAP\Support\FolderCollection $folders */ $folders = $client->getFolders[]; //Loop through every Mailbox /** @var \Webklex\PHPIMAP\Folder $folder */ foreach[$folders as $folder]{ //Get all Messages of the current Mailbox $folder /** @var \Webklex\PHPIMAP\Support\MessageCollection $messages */ $messages = $folder->messages[]->all[]->get[]; /** @var \Webklex\PHPIMAP\Message $message */ foreach[$messages as $message]{ echo $message->getSubject[].'
20 — tùy chọn tìm nạp bổ sung
'; echo 'Attachments: '.$message->getAttachments[]->count[].'
'; echo $message->getHTMLBody[]; //Move the current Message to 'INBOX.read' if[$message->move['INBOX.read'] == true]{ echo 'Message has ben moved'; }else{ echo 'Message could not be moved'; } } }use Webklex\PHPIMAP\ClientManager; use Webklex\PHPIMAP\Client; $cm = new ClientManager['path/to/config/imap.php']; // or use an array of options instead $cm = new ClientManager[$options = []]; /** @var \Webklex\PHPIMAP\Client $client */ $client = $cm->account['account_identifier']; // or create a new instance manually $client = $cm->make[[ 'host' => 'somehost.com', 'port' => 993, 'encryption' => 'ssl', 'validate_cert' => true, 'username' => 'username', 'password' => 'password', 'protocol' => 'imap' ]]; //Connect to the IMAP Server $client->connect[]; //Get all Mailboxes /** @var \Webklex\PHPIMAP\Support\FolderCollection $folders */ $folders = $client->getFolders[]; //Loop through every Mailbox /** @var \Webklex\PHPIMAP\Folder $folder */ foreach[$folders as $folder]{ //Get all Messages of the current Mailbox $folder /** @var \Webklex\PHPIMAP\Support\MessageCollection $messages */ $messages = $folder->messages[]->all[]->get[]; /** @var \Webklex\PHPIMAP\Message $message */ foreach[$messages as $message]{ echo $message->getSubject[].'
21 — bạn có thể sử dụng bất kỳ ký tự được hỗ trợ nào, chẳng hạn như ". ", "/", vân vân
'; echo 'Attachments: '.$message->getAttachments[]->count[].'
'; echo $message->getHTMLBody[]; //Move the current Message to 'INBOX.read' if[$message->move['INBOX.read'] == true]{ echo 'Message has ben moved'; }else{ echo 'Message could not be moved'; } } }use Webklex\PHPIMAP\ClientManager; use Webklex\PHPIMAP\Client; $cm = new ClientManager['path/to/config/imap.php']; // or use an array of options instead $cm = new ClientManager[$options = []]; /** @var \Webklex\PHPIMAP\Client $client */ $client = $cm->account['account_identifier']; // or create a new instance manually $client = $cm->make[[ 'host' => 'somehost.com', 'port' => 993, 'encryption' => 'ssl', 'validate_cert' => true, 'username' => 'username', 'password' => 'password', 'protocol' => 'imap' ]]; //Connect to the IMAP Server $client->connect[]; //Get all Mailboxes /** @var \Webklex\PHPIMAP\Support\FolderCollection $folders */ $folders = $client->getFolders[]; //Loop through every Mailbox /** @var \Webklex\PHPIMAP\Folder $folder */ foreach[$folders as $folder]{ //Get all Messages of the current Mailbox $folder /** @var \Webklex\PHPIMAP\Support\MessageCollection $messages */ $messages = $folder->messages[]->all[]->get[]; /** @var \Webklex\PHPIMAP\Message $message */ foreach[$messages as $message]{ echo $message->getSubject[].'
22 —
'; echo 'Attachments: '.$message->getAttachments[]->count[].'
'; echo $message->getHTMLBody[]; //Move the current Message to 'INBOX.read' if[$message->move['INBOX.read'] == true]{ echo 'Message has ben moved'; }else{ echo 'Message could not be moved'; } } }use Webklex\PHPIMAP\ClientManager; use Webklex\PHPIMAP\Client; $cm = new ClientManager['path/to/config/imap.php']; // or use an array of options instead $cm = new ClientManager[$options = []]; /** @var \Webklex\PHPIMAP\Client $client */ $client = $cm->account['account_identifier']; // or create a new instance manually $client = $cm->make[[ 'host' => 'somehost.com', 'port' => 993, 'encryption' => 'ssl', 'validate_cert' => true, 'username' => 'username', 'password' => 'password', 'protocol' => 'imap' ]]; //Connect to the IMAP Server $client->connect[]; //Get all Mailboxes /** @var \Webklex\PHPIMAP\Support\FolderCollection $folders */ $folders = $client->getFolders[]; //Loop through every Mailbox /** @var \Webklex\PHPIMAP\Folder $folder */ foreach[$folders as $folder]{ //Get all Messages of the current Mailbox $folder /** @var \Webklex\PHPIMAP\Support\MessageCollection $messages */ $messages = $folder->messages[]->all[]->get[]; /** @var \Webklex\PHPIMAP\Message $message */ foreach[$messages as $message]{ echo $message->getSubject[].'
23 [thư được đánh dấu là đã đọc bằng cách tìm nạp nội dung thư] hoặc
'; echo 'Attachments: '.$message->getAttachments[]->count[].'
'; echo $message->getHTMLBody[]; //Move the current Message to 'INBOX.read' if[$message->move['INBOX.read'] == true]{ echo 'Message has ben moved'; }else{ echo 'Message could not be moved'; } } }use Webklex\PHPIMAP\ClientManager; use Webklex\PHPIMAP\Client; $cm = new ClientManager['path/to/config/imap.php']; // or use an array of options instead $cm = new ClientManager[$options = []]; /** @var \Webklex\PHPIMAP\Client $client */ $client = $cm->account['account_identifier']; // or create a new instance manually $client = $cm->make[[ 'host' => 'somehost.com', 'port' => 993, 'encryption' => 'ssl', 'validate_cert' => true, 'username' => 'username', 'password' => 'password', 'protocol' => 'imap' ]]; //Connect to the IMAP Server $client->connect[]; //Get all Mailboxes /** @var \Webklex\PHPIMAP\Support\FolderCollection $folders */ $folders = $client->getFolders[]; //Loop through every Mailbox /** @var \Webklex\PHPIMAP\Folder $folder */ foreach[$folders as $folder]{ //Get all Messages of the current Mailbox $folder /** @var \Webklex\PHPIMAP\Support\MessageCollection $messages */ $messages = $folder->messages[]->all[]->get[]; /** @var \Webklex\PHPIMAP\Message $message */ foreach[$messages as $message]{ echo $message->getSubject[].'
24 [tìm nạp thư mà không đặt cờ "seen"]
'; echo 'Attachments: '.$message->getAttachments[]->count[].'
'; echo $message->getHTMLBody[]; //Move the current Message to 'INBOX.read' if[$message->move['INBOX.read'] == true]{ echo 'Message has ben moved'; }else{ echo 'Message could not be moved'; } } }use Webklex\PHPIMAP\ClientManager; use Webklex\PHPIMAP\Client; $cm = new ClientManager['path/to/config/imap.php']; // or use an array of options instead $cm = new ClientManager[$options = []]; /** @var \Webklex\PHPIMAP\Client $client */ $client = $cm->account['account_identifier']; // or create a new instance manually $client = $cm->make[[ 'host' => 'somehost.com', 'port' => 993, 'encryption' => 'ssl', 'validate_cert' => true, 'username' => 'username', 'password' => 'password', 'protocol' => 'imap' ]]; //Connect to the IMAP Server $client->connect[]; //Get all Mailboxes /** @var \Webklex\PHPIMAP\Support\FolderCollection $folders */ $folders = $client->getFolders[]; //Loop through every Mailbox /** @var \Webklex\PHPIMAP\Folder $folder */ foreach[$folders as $folder]{ //Get all Messages of the current Mailbox $folder /** @var \Webklex\PHPIMAP\Support\MessageCollection $messages */ $messages = $folder->messages[]->all[]->get[]; /** @var \Webklex\PHPIMAP\Message $message */ foreach[$messages as $message]{ echo $message->getSubject[].'
25 — Nếu được đặt thành
'; echo 'Attachments: '.$message->getAttachments[]->count[].'
'; echo $message->getHTMLBody[]; //Move the current Message to 'INBOX.read' if[$message->move['INBOX.read'] == true]{ echo 'Message has ben moved'; }else{ echo 'Message could not be moved'; } } }use Webklex\PHPIMAP\ClientManager; use Webklex\PHPIMAP\Client; $cm = new ClientManager['path/to/config/imap.php']; // or use an array of options instead $cm = new ClientManager[$options = []]; /** @var \Webklex\PHPIMAP\Client $client */ $client = $cm->account['account_identifier']; // or create a new instance manually $client = $cm->make[[ 'host' => 'somehost.com', 'port' => 993, 'encryption' => 'ssl', 'validate_cert' => true, 'username' => 'username', 'password' => 'password', 'protocol' => 'imap' ]]; //Connect to the IMAP Server $client->connect[]; //Get all Mailboxes /** @var \Webklex\PHPIMAP\Support\FolderCollection $folders */ $folders = $client->getFolders[]; //Loop through every Mailbox /** @var \Webklex\PHPIMAP\Folder $folder */ foreach[$folders as $folder]{ //Get all Messages of the current Mailbox $folder /** @var \Webklex\PHPIMAP\Support\MessageCollection $messages */ $messages = $folder->messages[]->all[]->get[]; /** @var \Webklex\PHPIMAP\Message $message */ foreach[$messages as $message]{ echo $message->getSubject[].'
7, tất cả thư sẽ được tìm nạp mà không có nội dung và bất kỳ tệp đính kèm tiềm ẩn nào
'; echo 'Attachments: '.$message->getAttachments[]->count[].'
'; echo $message->getHTMLBody[]; //Move the current Message to 'INBOX.read' if[$message->move['INBOX.read'] == true]{ echo 'Message has ben moved'; }else{ echo 'Message could not be moved'; } } }use Webklex\PHPIMAP\ClientManager; use Webklex\PHPIMAP\Client; $cm = new ClientManager['path/to/config/imap.php']; // or use an array of options instead $cm = new ClientManager[$options = []]; /** @var \Webklex\PHPIMAP\Client $client */ $client = $cm->account['account_identifier']; // or create a new instance manually $client = $cm->make[[ 'host' => 'somehost.com', 'port' => 993, 'encryption' => 'ssl', 'validate_cert' => true, 'username' => 'username', 'password' => 'password', 'protocol' => 'imap' ]]; //Connect to the IMAP Server $client->connect[]; //Get all Mailboxes /** @var \Webklex\PHPIMAP\Support\FolderCollection $folders */ $folders = $client->getFolders[]; //Loop through every Mailbox /** @var \Webklex\PHPIMAP\Folder $folder */ foreach[$folders as $folder]{ //Get all Messages of the current Mailbox $folder /** @var \Webklex\PHPIMAP\Support\MessageCollection $messages */ $messages = $folder->messages[]->all[]->get[]; /** @var \Webklex\PHPIMAP\Message $message */ foreach[$messages as $message]{ echo $message->getSubject[].'
27 — Nếu được đặt thành
'; echo 'Attachments: '.$message->getAttachments[]->count[].'
'; echo $message->getHTMLBody[]; //Move the current Message to 'INBOX.read' if[$message->move['INBOX.read'] == true]{ echo 'Message has ben moved'; }else{ echo 'Message could not be moved'; } } }use Webklex\PHPIMAP\ClientManager; use Webklex\PHPIMAP\Client; $cm = new ClientManager['path/to/config/imap.php']; // or use an array of options instead $cm = new ClientManager[$options = []]; /** @var \Webklex\PHPIMAP\Client $client */ $client = $cm->account['account_identifier']; // or create a new instance manually $client = $cm->make[[ 'host' => 'somehost.com', 'port' => 993, 'encryption' => 'ssl', 'validate_cert' => true, 'username' => 'username', 'password' => 'password', 'protocol' => 'imap' ]]; //Connect to the IMAP Server $client->connect[]; //Get all Mailboxes /** @var \Webklex\PHPIMAP\Support\FolderCollection $folders */ $folders = $client->getFolders[]; //Loop through every Mailbox /** @var \Webklex\PHPIMAP\Folder $folder */ foreach[$folders as $folder]{ //Get all Messages of the current Mailbox $folder /** @var \Webklex\PHPIMAP\Support\MessageCollection $messages */ $messages = $folder->messages[]->all[]->get[]; /** @var \Webklex\PHPIMAP\Message $message */ foreach[$messages as $message]{ echo $message->getSubject[].'
7, tất cả thư sẽ được tìm nạp mà không có bất kỳ cờ nào
'; echo 'Attachments: '.$message->getAttachments[]->count[].'
'; echo $message->getHTMLBody[]; //Move the current Message to 'INBOX.read' if[$message->move['INBOX.read'] == true]{ echo 'Message has ben moved'; }else{ echo 'Message could not be moved'; } } }use Webklex\PHPIMAP\ClientManager; use Webklex\PHPIMAP\Client; $cm = new ClientManager['path/to/config/imap.php']; // or use an array of options instead $cm = new ClientManager[$options = []]; /** @var \Webklex\PHPIMAP\Client $client */ $client = $cm->account['account_identifier']; // or create a new instance manually $client = $cm->make[[ 'host' => 'somehost.com', 'port' => 993, 'encryption' => 'ssl', 'validate_cert' => true, 'username' => 'username', 'password' => 'password', 'protocol' => 'imap' ]]; //Connect to the IMAP Server $client->connect[]; //Get all Mailboxes /** @var \Webklex\PHPIMAP\Support\FolderCollection $folders */ $folders = $client->getFolders[]; //Loop through every Mailbox /** @var \Webklex\PHPIMAP\Folder $folder */ foreach[$folders as $folder]{ //Get all Messages of the current Mailbox $folder /** @var \Webklex\PHPIMAP\Support\MessageCollection $messages */ $messages = $folder->messages[]->all[]->get[]; /** @var \Webklex\PHPIMAP\Message $message */ foreach[$messages as $message]{ echo $message->getSubject[].'
29 — Tùy chọn mã định danh khóa tin nhắn
'; echo 'Attachments: '.$message->getAttachments[]->count[].'
'; echo $message->getHTMLBody[]; //Move the current Message to 'INBOX.read' if[$message->move['INBOX.read'] == true]{ echo 'Message has ben moved'; }else{ echo 'Message could not be moved'; } } }composer require webklex/php-imap
20 — Thứ tự tìm nạp tin nhắncomposer require webklex/php-imap
21 — Vị trí và đường dẫn thư mục mặc định được giả định nếu không được cung cấpcomposer require webklex/php-imap
22 — cấu hình đặc biệt cho imap_open[]composer require webklex/php-imap
23 — tắt thuộc tính xác thực
composer require webklex/php-imap
24 — Hiện tại chỉ có thể đặt bộ giải mã tin nhắn và tệp đính kèmcomposer require webklex/php-imap
25 — Cấu hình mặc địnhcomposer require webklex/php-imap
26 — Cấu hình mặc địnhcomposer require webklex/php-imap
27 — Mặt nạ thông báo mặc địnhcomposer require webklex/php-imap
28 — Mặt nạ đính kèm mặc định
Cách sử dụng
Ví dụ sử dụng cơ bản
Đây là một ví dụ cơ bản, sẽ lặp lại tất cả các Thư trong tất cả các thư mục imap và sẽ chuyển mọi thư vào INBOX. đọc. Xin lưu ý rằng điều này không nên được thử nghiệm trong cuộc sống thực và chỉ nhằm mục đích tạo ấn tượng về cách mọi thứ hoạt động
use Webklex\PHPIMAP\ClientManager; use Webklex\PHPIMAP\Client; $cm = new ClientManager['path/to/config/imap.php']; // or use an array of options instead $cm = new ClientManager[$options = []]; /** @var \Webklex\PHPIMAP\Client $client */ $client = $cm->account['account_identifier']; // or create a new instance manually $client = $cm->make[[ 'host' => 'somehost.com', 'port' => 993, 'encryption' => 'ssl', 'validate_cert' => true, 'username' => 'username', 'password' => 'password', 'protocol' => 'imap' ]]; //Connect to the IMAP Server $client->connect[]; //Get all Mailboxes /** @var \Webklex\PHPIMAP\Support\FolderCollection $folders */ $folders = $client->getFolders[]; //Loop through every Mailbox /** @var \Webklex\PHPIMAP\Folder $folder */ foreach[$folders as $folder]{ //Get all Messages of the current Mailbox $folder /** @var \Webklex\PHPIMAP\Support\MessageCollection $messages */ $messages = $folder->messages[]->all[]->get[]; /** @var \Webklex\PHPIMAP\Message $message */ foreach[$messages as $message]{ echo $message->getSubject[].'
'; echo 'Attachments: '.$message->getAttachments[]->count[].'
'; echo $message->getHTMLBody[]; //Move the current Message to 'INBOX.read' if[$message->move['INBOX.read'] == true]{ echo 'Message has ben moved'; }else{ echo 'Message could not be moved'; } } }
Thư mục / Hộp thư
Liệt kê tất cả các thư mục có sẵn
sudo apt-get install php*-mbstring php*-mcrypt && sudo apache2ctl graceful2
Nhận một thư mục cụ thể
sudo apt-get install php*-imap && sudo apache2ctl graceful2
oAuth
Vui lòng xem bài viết wiki để thiết lập thư gmail/google
Ví dụ oAuth cơ bản
use Webklex\PHPIMAP\ClientManager; use Webklex\PHPIMAP\Client; $cm = new ClientManager['path/to/config/imap.php']; // or use an array of options instead $cm = new ClientManager[$options = []]; /** @var \Webklex\PHPIMAP\Client $client */ $client = $cm->account['account_identifier']; // or create a new instance manually $client = $cm->make[[ 'host' => 'somehost.com', 'port' => 993, 'encryption' => 'ssl', 'validate_cert' => true, 'username' => 'username', 'password' => 'password', 'protocol' => 'imap' ]]; //Connect to the IMAP Server $client->connect[]; //Get all Mailboxes /** @var \Webklex\PHPIMAP\Support\FolderCollection $folders */ $folders = $client->getFolders[]; //Loop through every Mailbox /** @var \Webklex\PHPIMAP\Folder $folder */ foreach[$folders as $folder]{ //Get all Messages of the current Mailbox $folder /** @var \Webklex\PHPIMAP\Support\MessageCollection $messages */ $messages = $folder->messages[]->all[]->get[]; /** @var \Webklex\PHPIMAP\Message $message */ foreach[$messages as $message]{ echo $message->getSubject[].'2
'; echo 'Attachments: '.$message->getAttachments[]->count[].'
'; echo $message->getHTMLBody[]; //Move the current Message to 'INBOX.read' if[$message->move['INBOX.read'] == true]{ echo 'Message has ben moved'; }else{ echo 'Message could not be moved'; } } }
nhàn rỗi
Mỗi khi nhận được tin nhắn mới, máy chủ sẽ thông báo cho máy khách và gửi lại tin nhắn mới
composer require webklex/php-imap2
Tìm kiếm tin nhắn
Tìm kiếm email cụ thể
use Webklex\PHPIMAP\ClientManager; use Webklex\PHPIMAP\Client; $cm = new ClientManager['path/to/config/imap.php']; // or use an array of options instead $cm = new ClientManager[$options = []]; /** @var \Webklex\PHPIMAP\Client $client */ $client = $cm->account['account_identifier']; // or create a new instance manually $client = $cm->make[[ 'host' => 'somehost.com', 'port' => 993, 'encryption' => 'ssl', 'validate_cert' => true, 'username' => 'username', 'password' => 'password', 'protocol' => 'imap' ]]; //Connect to the IMAP Server $client->connect[]; //Get all Mailboxes /** @var \Webklex\PHPIMAP\Support\FolderCollection $folders */ $folders = $client->getFolders[]; //Loop through every Mailbox /** @var \Webklex\PHPIMAP\Folder $folder */ foreach[$folders as $folder]{ //Get all Messages of the current Mailbox $folder /** @var \Webklex\PHPIMAP\Support\MessageCollection $messages */ $messages = $folder->messages[]->all[]->get[]; /** @var \Webklex\PHPIMAP\Message $message */ foreach[$messages as $message]{ echo $message->getSubject[].'6
'; echo 'Attachments: '.$message->getAttachments[]->count[].'
'; echo $message->getHTMLBody[]; //Move the current Message to 'INBOX.read' if[$message->move['INBOX.read'] == true]{ echo 'Message has ben moved'; }else{ echo 'Message could not be moved'; } } }
Bí danh tìm kiếm có sẵn để đọc mã tốt hơn
use Webklex\PHPIMAP\ClientManager; use Webklex\PHPIMAP\Client; $cm = new ClientManager['path/to/config/imap.php']; // or use an array of options instead $cm = new ClientManager[$options = []]; /** @var \Webklex\PHPIMAP\Client $client */ $client = $cm->account['account_identifier']; // or create a new instance manually $client = $cm->make[[ 'host' => 'somehost.com', 'port' => 993, 'encryption' => 'ssl', 'validate_cert' => true, 'username' => 'username', 'password' => 'password', 'protocol' => 'imap' ]]; //Connect to the IMAP Server $client->connect[]; //Get all Mailboxes /** @var \Webklex\PHPIMAP\Support\FolderCollection $folders */ $folders = $client->getFolders[]; //Loop through every Mailbox /** @var \Webklex\PHPIMAP\Folder $folder */ foreach[$folders as $folder]{ //Get all Messages of the current Mailbox $folder /** @var \Webklex\PHPIMAP\Support\MessageCollection $messages */ $messages = $folder->messages[]->all[]->get[]; /** @var \Webklex\PHPIMAP\Message $message */ foreach[$messages as $message]{ echo $message->getSubject[].'7
'; echo 'Attachments: '.$message->getAttachments[]->count[].'
'; echo $message->getHTMLBody[]; //Move the current Message to 'INBOX.read' if[$message->move['INBOX.read'] == true]{ echo 'Message has ben moved'; }else{ echo 'Message could not be moved'; } } }
Tất cả các phương pháp truy vấn / tìm kiếm có sẵn có thể được tìm thấy ở đây. Truy vấn. lớp
tiêu chí tìm kiếm có sẵn
composer require webklex/php-imap
29 - trả lại tất cả thư phù hợp với phần còn lại của tiêu chíuse Webklex\PHPIMAP\ClientManager; use Webklex\PHPIMAP\Client; $cm = new ClientManager['path/to/config/imap.php']; // or use an array of options instead $cm = new ClientManager[$options = []]; /** @var \Webklex\PHPIMAP\Client $client */ $client = $cm->account['account_identifier']; // or create a new instance manually $client = $cm->make[[ 'host' => 'somehost.com', 'port' => 993, 'encryption' => 'ssl', 'validate_cert' => true, 'username' => 'username', 'password' => 'password', 'protocol' => 'imap' ]]; //Connect to the IMAP Server $client->connect[]; //Get all Mailboxes /** @var \Webklex\PHPIMAP\Support\FolderCollection $folders */ $folders = $client->getFolders[]; //Loop through every Mailbox /** @var \Webklex\PHPIMAP\Folder $folder */ foreach[$folders as $folder]{ //Get all Messages of the current Mailbox $folder /** @var \Webklex\PHPIMAP\Support\MessageCollection $messages */ $messages = $folder->messages[]->all[]->get[]; /** @var \Webklex\PHPIMAP\Message $message */ foreach[$messages as $message]{ echo $message->getSubject[].'
60 — so khớp các thông báo với cờ \ANSWERED được đặt
'; echo 'Attachments: '.$message->getAttachments[]->count[].'
'; echo $message->getHTMLBody[]; //Move the current Message to 'INBOX.read' if[$message->move['INBOX.read'] == true]{ echo 'Message has ben moved'; }else{ echo 'Message could not be moved'; } } }use Webklex\PHPIMAP\ClientManager; use Webklex\PHPIMAP\Client; $cm = new ClientManager['path/to/config/imap.php']; // or use an array of options instead $cm = new ClientManager[$options = []]; /** @var \Webklex\PHPIMAP\Client $client */ $client = $cm->account['account_identifier']; // or create a new instance manually $client = $cm->make[[ 'host' => 'somehost.com', 'port' => 993, 'encryption' => 'ssl', 'validate_cert' => true, 'username' => 'username', 'password' => 'password', 'protocol' => 'imap' ]]; //Connect to the IMAP Server $client->connect[]; //Get all Mailboxes /** @var \Webklex\PHPIMAP\Support\FolderCollection $folders */ $folders = $client->getFolders[]; //Loop through every Mailbox /** @var \Webklex\PHPIMAP\Folder $folder */ foreach[$folders as $folder]{ //Get all Messages of the current Mailbox $folder /** @var \Webklex\PHPIMAP\Support\MessageCollection $messages */ $messages = $folder->messages[]->all[]->get[]; /** @var \Webklex\PHPIMAP\Message $message */ foreach[$messages as $message]{ echo $message->getSubject[].'
61 "chuỗi" — so khớp thông báo với "chuỗi" trong Bcc. đồng ruộng
'; echo 'Attachments: '.$message->getAttachments[]->count[].'
'; echo $message->getHTMLBody[]; //Move the current Message to 'INBOX.read' if[$message->move['INBOX.read'] == true]{ echo 'Message has ben moved'; }else{ echo 'Message could not be moved'; } } }use Webklex\PHPIMAP\ClientManager; use Webklex\PHPIMAP\Client; $cm = new ClientManager['path/to/config/imap.php']; // or use an array of options instead $cm = new ClientManager[$options = []]; /** @var \Webklex\PHPIMAP\Client $client */ $client = $cm->account['account_identifier']; // or create a new instance manually $client = $cm->make[[ 'host' => 'somehost.com', 'port' => 993, 'encryption' => 'ssl', 'validate_cert' => true, 'username' => 'username', 'password' => 'password', 'protocol' => 'imap' ]]; //Connect to the IMAP Server $client->connect[]; //Get all Mailboxes /** @var \Webklex\PHPIMAP\Support\FolderCollection $folders */ $folders = $client->getFolders[]; //Loop through every Mailbox /** @var \Webklex\PHPIMAP\Folder $folder */ foreach[$folders as $folder]{ //Get all Messages of the current Mailbox $folder /** @var \Webklex\PHPIMAP\Support\MessageCollection $messages */ $messages = $folder->messages[]->all[]->get[]; /** @var \Webklex\PHPIMAP\Message $message */ foreach[$messages as $message]{ echo $message->getSubject[].'
62 "date" — so khớp thông báo với Date. trước "ngày"
'; echo 'Attachments: '.$message->getAttachments[]->count[].'
'; echo $message->getHTMLBody[]; //Move the current Message to 'INBOX.read' if[$message->move['INBOX.read'] == true]{ echo 'Message has ben moved'; }else{ echo 'Message could not be moved'; } } }use Webklex\PHPIMAP\ClientManager; use Webklex\PHPIMAP\Client; $cm = new ClientManager['path/to/config/imap.php']; // or use an array of options instead $cm = new ClientManager[$options = []]; /** @var \Webklex\PHPIMAP\Client $client */ $client = $cm->account['account_identifier']; // or create a new instance manually $client = $cm->make[[ 'host' => 'somehost.com', 'port' => 993, 'encryption' => 'ssl', 'validate_cert' => true, 'username' => 'username', 'password' => 'password', 'protocol' => 'imap' ]]; //Connect to the IMAP Server $client->connect[]; //Get all Mailboxes /** @var \Webklex\PHPIMAP\Support\FolderCollection $folders */ $folders = $client->getFolders[]; //Loop through every Mailbox /** @var \Webklex\PHPIMAP\Folder $folder */ foreach[$folders as $folder]{ //Get all Messages of the current Mailbox $folder /** @var \Webklex\PHPIMAP\Support\MessageCollection $messages */ $messages = $folder->messages[]->all[]->get[]; /** @var \Webklex\PHPIMAP\Message $message */ foreach[$messages as $message]{ echo $message->getSubject[].'
63 "chuỗi" — khớp thư với "chuỗi" trong nội dung thư
'; echo 'Attachments: '.$message->getAttachments[]->count[].'
'; echo $message->getHTMLBody[]; //Move the current Message to 'INBOX.read' if[$message->move['INBOX.read'] == true]{ echo 'Message has ben moved'; }else{ echo 'Message could not be moved'; } } }use Webklex\PHPIMAP\ClientManager; use Webklex\PHPIMAP\Client; $cm = new ClientManager['path/to/config/imap.php']; // or use an array of options instead $cm = new ClientManager[$options = []]; /** @var \Webklex\PHPIMAP\Client $client */ $client = $cm->account['account_identifier']; // or create a new instance manually $client = $cm->make[[ 'host' => 'somehost.com', 'port' => 993, 'encryption' => 'ssl', 'validate_cert' => true, 'username' => 'username', 'password' => 'password', 'protocol' => 'imap' ]]; //Connect to the IMAP Server $client->connect[]; //Get all Mailboxes /** @var \Webklex\PHPIMAP\Support\FolderCollection $folders */ $folders = $client->getFolders[]; //Loop through every Mailbox /** @var \Webklex\PHPIMAP\Folder $folder */ foreach[$folders as $folder]{ //Get all Messages of the current Mailbox $folder /** @var \Webklex\PHPIMAP\Support\MessageCollection $messages */ $messages = $folder->messages[]->all[]->get[]; /** @var \Webklex\PHPIMAP\Message $message */ foreach[$messages as $message]{ echo $message->getSubject[].'
64 "chuỗi" — so khớp thông báo với "chuỗi" trong Cc. đồng ruộng
'; echo 'Attachments: '.$message->getAttachments[]->count[].'
'; echo $message->getHTMLBody[]; //Move the current Message to 'INBOX.read' if[$message->move['INBOX.read'] == true]{ echo 'Message has ben moved'; }else{ echo 'Message could not be moved'; } } }use Webklex\PHPIMAP\ClientManager; use Webklex\PHPIMAP\Client; $cm = new ClientManager['path/to/config/imap.php']; // or use an array of options instead $cm = new ClientManager[$options = []]; /** @var \Webklex\PHPIMAP\Client $client */ $client = $cm->account['account_identifier']; // or create a new instance manually $client = $cm->make[[ 'host' => 'somehost.com', 'port' => 993, 'encryption' => 'ssl', 'validate_cert' => true, 'username' => 'username', 'password' => 'password', 'protocol' => 'imap' ]]; //Connect to the IMAP Server $client->connect[]; //Get all Mailboxes /** @var \Webklex\PHPIMAP\Support\FolderCollection $folders */ $folders = $client->getFolders[]; //Loop through every Mailbox /** @var \Webklex\PHPIMAP\Folder $folder */ foreach[$folders as $folder]{ //Get all Messages of the current Mailbox $folder /** @var \Webklex\PHPIMAP\Support\MessageCollection $messages */ $messages = $folder->messages[]->all[]->get[]; /** @var \Webklex\PHPIMAP\Message $message */ foreach[$messages as $message]{ echo $message->getSubject[].'
65 — so khớp các tin nhắn đã xóa
'; echo 'Attachments: '.$message->getAttachments[]->count[].'
'; echo $message->getHTMLBody[]; //Move the current Message to 'INBOX.read' if[$message->move['INBOX.read'] == true]{ echo 'Message has ben moved'; }else{ echo 'Message could not be moved'; } } }use Webklex\PHPIMAP\ClientManager; use Webklex\PHPIMAP\Client; $cm = new ClientManager['path/to/config/imap.php']; // or use an array of options instead $cm = new ClientManager[$options = []]; /** @var \Webklex\PHPIMAP\Client $client */ $client = $cm->account['account_identifier']; // or create a new instance manually $client = $cm->make[[ 'host' => 'somehost.com', 'port' => 993, 'encryption' => 'ssl', 'validate_cert' => true, 'username' => 'username', 'password' => 'password', 'protocol' => 'imap' ]]; //Connect to the IMAP Server $client->connect[]; //Get all Mailboxes /** @var \Webklex\PHPIMAP\Support\FolderCollection $folders */ $folders = $client->getFolders[]; //Loop through every Mailbox /** @var \Webklex\PHPIMAP\Folder $folder */ foreach[$folders as $folder]{ //Get all Messages of the current Mailbox $folder /** @var \Webklex\PHPIMAP\Support\MessageCollection $messages */ $messages = $folder->messages[]->all[]->get[]; /** @var \Webklex\PHPIMAP\Message $message */ foreach[$messages as $message]{ echo $message->getSubject[].'
66 — so khớp các thư với bộ cờ \FLAGGED [đôi khi được gọi là Quan trọng hoặc Khẩn cấp]
'; echo 'Attachments: '.$message->getAttachments[]->count[].'
'; echo $message->getHTMLBody[]; //Move the current Message to 'INBOX.read' if[$message->move['INBOX.read'] == true]{ echo 'Message has ben moved'; }else{ echo 'Message could not be moved'; } } }use Webklex\PHPIMAP\ClientManager; use Webklex\PHPIMAP\Client; $cm = new ClientManager['path/to/config/imap.php']; // or use an array of options instead $cm = new ClientManager[$options = []]; /** @var \Webklex\PHPIMAP\Client $client */ $client = $cm->account['account_identifier']; // or create a new instance manually $client = $cm->make[[ 'host' => 'somehost.com', 'port' => 993, 'encryption' => 'ssl', 'validate_cert' => true, 'username' => 'username', 'password' => 'password', 'protocol' => 'imap' ]]; //Connect to the IMAP Server $client->connect[]; //Get all Mailboxes /** @var \Webklex\PHPIMAP\Support\FolderCollection $folders */ $folders = $client->getFolders[]; //Loop through every Mailbox /** @var \Webklex\PHPIMAP\Folder $folder */ foreach[$folders as $folder]{ //Get all Messages of the current Mailbox $folder /** @var \Webklex\PHPIMAP\Support\MessageCollection $messages */ $messages = $folder->messages[]->all[]->get[]; /** @var \Webklex\PHPIMAP\Message $message */ foreach[$messages as $message]{ echo $message->getSubject[].'
67 "chuỗi" — so khớp thông báo với "chuỗi" trong Từ. đồng ruộng
'; echo 'Attachments: '.$message->getAttachments[]->count[].'
'; echo $message->getHTMLBody[]; //Move the current Message to 'INBOX.read' if[$message->move['INBOX.read'] == true]{ echo 'Message has ben moved'; }else{ echo 'Message could not be moved'; } } }use Webklex\PHPIMAP\ClientManager; use Webklex\PHPIMAP\Client; $cm = new ClientManager['path/to/config/imap.php']; // or use an array of options instead $cm = new ClientManager[$options = []]; /** @var \Webklex\PHPIMAP\Client $client */ $client = $cm->account['account_identifier']; // or create a new instance manually $client = $cm->make[[ 'host' => 'somehost.com', 'port' => 993, 'encryption' => 'ssl', 'validate_cert' => true, 'username' => 'username', 'password' => 'password', 'protocol' => 'imap' ]]; //Connect to the IMAP Server $client->connect[]; //Get all Mailboxes /** @var \Webklex\PHPIMAP\Support\FolderCollection $folders */ $folders = $client->getFolders[]; //Loop through every Mailbox /** @var \Webklex\PHPIMAP\Folder $folder */ foreach[$folders as $folder]{ //Get all Messages of the current Mailbox $folder /** @var \Webklex\PHPIMAP\Support\MessageCollection $messages */ $messages = $folder->messages[]->all[]->get[]; /** @var \Webklex\PHPIMAP\Message $message */ foreach[$messages as $message]{ echo $message->getSubject[].'
68 "chuỗi" — so khớp thông báo với từ khóa "chuỗi"
'; echo 'Attachments: '.$message->getAttachments[]->count[].'
'; echo $message->getHTMLBody[]; //Move the current Message to 'INBOX.read' if[$message->move['INBOX.read'] == true]{ echo 'Message has ben moved'; }else{ echo 'Message could not be moved'; } } }use Webklex\PHPIMAP\ClientManager; use Webklex\PHPIMAP\Client; $cm = new ClientManager['path/to/config/imap.php']; // or use an array of options instead $cm = new ClientManager[$options = []]; /** @var \Webklex\PHPIMAP\Client $client */ $client = $cm->account['account_identifier']; // or create a new instance manually $client = $cm->make[[ 'host' => 'somehost.com', 'port' => 993, 'encryption' => 'ssl', 'validate_cert' => true, 'username' => 'username', 'password' => 'password', 'protocol' => 'imap' ]]; //Connect to the IMAP Server $client->connect[]; //Get all Mailboxes /** @var \Webklex\PHPIMAP\Support\FolderCollection $folders */ $folders = $client->getFolders[]; //Loop through every Mailbox /** @var \Webklex\PHPIMAP\Folder $folder */ foreach[$folders as $folder]{ //Get all Messages of the current Mailbox $folder /** @var \Webklex\PHPIMAP\Support\MessageCollection $messages */ $messages = $folder->messages[]->all[]->get[]; /** @var \Webklex\PHPIMAP\Message $message */ foreach[$messages as $message]{ echo $message->getSubject[].'
69 — so khớp tin nhắn mới
'; echo 'Attachments: '.$message->getAttachments[]->count[].'
'; echo $message->getHTMLBody[]; //Move the current Message to 'INBOX.read' if[$message->move['INBOX.read'] == true]{ echo 'Message has ben moved'; }else{ echo 'Message could not be moved'; } } }use Webklex\PHPIMAP\ClientManager; use Webklex\PHPIMAP\Client; $cm = new ClientManager['path/to/config/imap.php']; // or use an array of options instead $cm = new ClientManager[$options = []]; /** @var \Webklex\PHPIMAP\Client $client */ $client = $cm->account['account_identifier']; // or create a new instance manually $client = $cm->make[[ 'host' => 'somehost.com', 'port' => 993, 'encryption' => 'ssl', 'validate_cert' => true, 'username' => 'username', 'password' => 'password', 'protocol' => 'imap' ]]; //Connect to the IMAP Server $client->connect[]; //Get all Mailboxes /** @var \Webklex\PHPIMAP\Support\FolderCollection $folders */ $folders = $client->getFolders[]; //Loop through every Mailbox /** @var \Webklex\PHPIMAP\Folder $folder */ foreach[$folders as $folder]{ //Get all Messages of the current Mailbox $folder /** @var \Webklex\PHPIMAP\Support\MessageCollection $messages */ $messages = $folder->messages[]->all[]->get[]; /** @var \Webklex\PHPIMAP\Message $message */ foreach[$messages as $message]{ echo $message->getSubject[].'
70 — không khớp
'; echo 'Attachments: '.$message->getAttachments[]->count[].'
'; echo $message->getHTMLBody[]; //Move the current Message to 'INBOX.read' if[$message->move['INBOX.read'] == true]{ echo 'Message has ben moved'; }else{ echo 'Message could not be moved'; } } }use Webklex\PHPIMAP\ClientManager; use Webklex\PHPIMAP\Client; $cm = new ClientManager['path/to/config/imap.php']; // or use an array of options instead $cm = new ClientManager[$options = []]; /** @var \Webklex\PHPIMAP\Client $client */ $client = $cm->account['account_identifier']; // or create a new instance manually $client = $cm->make[[ 'host' => 'somehost.com', 'port' => 993, 'encryption' => 'ssl', 'validate_cert' => true, 'username' => 'username', 'password' => 'password', 'protocol' => 'imap' ]]; //Connect to the IMAP Server $client->connect[]; //Get all Mailboxes /** @var \Webklex\PHPIMAP\Support\FolderCollection $folders */ $folders = $client->getFolders[]; //Loop through every Mailbox /** @var \Webklex\PHPIMAP\Folder $folder */ foreach[$folders as $folder]{ //Get all Messages of the current Mailbox $folder /** @var \Webklex\PHPIMAP\Support\MessageCollection $messages */ $messages = $folder->messages[]->all[]->get[]; /** @var \Webklex\PHPIMAP\Message $message */ foreach[$messages as $message]{ echo $message->getSubject[].'
71 — ghép các tin nhắn cũ
'; echo 'Attachments: '.$message->getAttachments[]->count[].'
'; echo $message->getHTMLBody[]; //Move the current Message to 'INBOX.read' if[$message->move['INBOX.read'] == true]{ echo 'Message has ben moved'; }else{ echo 'Message could not be moved'; } } }use Webklex\PHPIMAP\ClientManager; use Webklex\PHPIMAP\Client; $cm = new ClientManager['path/to/config/imap.php']; // or use an array of options instead $cm = new ClientManager[$options = []]; /** @var \Webklex\PHPIMAP\Client $client */ $client = $cm->account['account_identifier']; // or create a new instance manually $client = $cm->make[[ 'host' => 'somehost.com', 'port' => 993, 'encryption' => 'ssl', 'validate_cert' => true, 'username' => 'username', 'password' => 'password', 'protocol' => 'imap' ]]; //Connect to the IMAP Server $client->connect[]; //Get all Mailboxes /** @var \Webklex\PHPIMAP\Support\FolderCollection $folders */ $folders = $client->getFolders[]; //Loop through every Mailbox /** @var \Webklex\PHPIMAP\Folder $folder */ foreach[$folders as $folder]{ //Get all Messages of the current Mailbox $folder /** @var \Webklex\PHPIMAP\Support\MessageCollection $messages */ $messages = $folder->messages[]->all[]->get[]; /** @var \Webklex\PHPIMAP\Message $message */ foreach[$messages as $message]{ echo $message->getSubject[].'
72 "date" — so khớp thông báo với Date. phù hợp với "ngày"
'; echo 'Attachments: '.$message->getAttachments[]->count[].'
'; echo $message->getHTMLBody[]; //Move the current Message to 'INBOX.read' if[$message->move['INBOX.read'] == true]{ echo 'Message has ben moved'; }else{ echo 'Message could not be moved'; } } }use Webklex\PHPIMAP\ClientManager; use Webklex\PHPIMAP\Client; $cm = new ClientManager['path/to/config/imap.php']; // or use an array of options instead $cm = new ClientManager[$options = []]; /** @var \Webklex\PHPIMAP\Client $client */ $client = $cm->account['account_identifier']; // or create a new instance manually $client = $cm->make[[ 'host' => 'somehost.com', 'port' => 993, 'encryption' => 'ssl', 'validate_cert' => true, 'username' => 'username', 'password' => 'password', 'protocol' => 'imap' ]]; //Connect to the IMAP Server $client->connect[]; //Get all Mailboxes /** @var \Webklex\PHPIMAP\Support\FolderCollection $folders */ $folders = $client->getFolders[]; //Loop through every Mailbox /** @var \Webklex\PHPIMAP\Folder $folder */ foreach[$folders as $folder]{ //Get all Messages of the current Mailbox $folder /** @var \Webklex\PHPIMAP\Support\MessageCollection $messages */ $messages = $folder->messages[]->all[]->get[]; /** @var \Webklex\PHPIMAP\Message $message */ foreach[$messages as $message]{ echo $message->getSubject[].'
73 — so khớp các thông báo với bộ cờ \RECENT
'; echo 'Attachments: '.$message->getAttachments[]->count[].'
'; echo $message->getHTMLBody[]; //Move the current Message to 'INBOX.read' if[$message->move['INBOX.read'] == true]{ echo 'Message has ben moved'; }else{ echo 'Message could not be moved'; } } }use Webklex\PHPIMAP\ClientManager; use Webklex\PHPIMAP\Client; $cm = new ClientManager['path/to/config/imap.php']; // or use an array of options instead $cm = new ClientManager[$options = []]; /** @var \Webklex\PHPIMAP\Client $client */ $client = $cm->account['account_identifier']; // or create a new instance manually $client = $cm->make[[ 'host' => 'somehost.com', 'port' => 993, 'encryption' => 'ssl', 'validate_cert' => true, 'username' => 'username', 'password' => 'password', 'protocol' => 'imap' ]]; //Connect to the IMAP Server $client->connect[]; //Get all Mailboxes /** @var \Webklex\PHPIMAP\Support\FolderCollection $folders */ $folders = $client->getFolders[]; //Loop through every Mailbox /** @var \Webklex\PHPIMAP\Folder $folder */ foreach[$folders as $folder]{ //Get all Messages of the current Mailbox $folder /** @var \Webklex\PHPIMAP\Support\MessageCollection $messages */ $messages = $folder->messages[]->all[]->get[]; /** @var \Webklex\PHPIMAP\Message $message */ foreach[$messages as $message]{ echo $message->getSubject[].'
74 — so khớp các tin nhắn đã được đọc [cờ \SEEN được đặt]
'; echo 'Attachments: '.$message->getAttachments[]->count[].'
'; echo $message->getHTMLBody[]; //Move the current Message to 'INBOX.read' if[$message->move['INBOX.read'] == true]{ echo 'Message has ben moved'; }else{ echo 'Message could not be moved'; } } }use Webklex\PHPIMAP\ClientManager; use Webklex\PHPIMAP\Client; $cm = new ClientManager['path/to/config/imap.php']; // or use an array of options instead $cm = new ClientManager[$options = []]; /** @var \Webklex\PHPIMAP\Client $client */ $client = $cm->account['account_identifier']; // or create a new instance manually $client = $cm->make[[ 'host' => 'somehost.com', 'port' => 993, 'encryption' => 'ssl', 'validate_cert' => true, 'username' => 'username', 'password' => 'password', 'protocol' => 'imap' ]]; //Connect to the IMAP Server $client->connect[]; //Get all Mailboxes /** @var \Webklex\PHPIMAP\Support\FolderCollection $folders */ $folders = $client->getFolders[]; //Loop through every Mailbox /** @var \Webklex\PHPIMAP\Folder $folder */ foreach[$folders as $folder]{ //Get all Messages of the current Mailbox $folder /** @var \Webklex\PHPIMAP\Support\MessageCollection $messages */ $messages = $folder->messages[]->all[]->get[]; /** @var \Webklex\PHPIMAP\Message $message */ foreach[$messages as $message]{ echo $message->getSubject[].'
75 "date" — so khớp thông báo với Date. sau "ngày"
'; echo 'Attachments: '.$message->getAttachments[]->count[].'
'; echo $message->getHTMLBody[]; //Move the current Message to 'INBOX.read' if[$message->move['INBOX.read'] == true]{ echo 'Message has ben moved'; }else{ echo 'Message could not be moved'; } } }use Webklex\PHPIMAP\ClientManager; use Webklex\PHPIMAP\Client; $cm = new ClientManager['path/to/config/imap.php']; // or use an array of options instead $cm = new ClientManager[$options = []]; /** @var \Webklex\PHPIMAP\Client $client */ $client = $cm->account['account_identifier']; // or create a new instance manually $client = $cm->make[[ 'host' => 'somehost.com', 'port' => 993, 'encryption' => 'ssl', 'validate_cert' => true, 'username' => 'username', 'password' => 'password', 'protocol' => 'imap' ]]; //Connect to the IMAP Server $client->connect[]; //Get all Mailboxes /** @var \Webklex\PHPIMAP\Support\FolderCollection $folders */ $folders = $client->getFolders[]; //Loop through every Mailbox /** @var \Webklex\PHPIMAP\Folder $folder */ foreach[$folders as $folder]{ //Get all Messages of the current Mailbox $folder /** @var \Webklex\PHPIMAP\Support\MessageCollection $messages */ $messages = $folder->messages[]->all[]->get[]; /** @var \Webklex\PHPIMAP\Message $message */ foreach[$messages as $message]{ echo $message->getSubject[].'
76 "chuỗi" — so khớp thông báo với "chuỗi" trong Chủ đề
'; echo 'Attachments: '.$message->getAttachments[]->count[].'
'; echo $message->getHTMLBody[]; //Move the current Message to 'INBOX.read' if[$message->move['INBOX.read'] == true]{ echo 'Message has ben moved'; }else{ echo 'Message could not be moved'; } } }use Webklex\PHPIMAP\ClientManager; use Webklex\PHPIMAP\Client; $cm = new ClientManager['path/to/config/imap.php']; // or use an array of options instead $cm = new ClientManager[$options = []]; /** @var \Webklex\PHPIMAP\Client $client */ $client = $cm->account['account_identifier']; // or create a new instance manually $client = $cm->make[[ 'host' => 'somehost.com', 'port' => 993, 'encryption' => 'ssl', 'validate_cert' => true, 'username' => 'username', 'password' => 'password', 'protocol' => 'imap' ]]; //Connect to the IMAP Server $client->connect[]; //Get all Mailboxes /** @var \Webklex\PHPIMAP\Support\FolderCollection $folders */ $folders = $client->getFolders[]; //Loop through every Mailbox /** @var \Webklex\PHPIMAP\Folder $folder */ foreach[$folders as $folder]{ //Get all Messages of the current Mailbox $folder /** @var \Webklex\PHPIMAP\Support\MessageCollection $messages */ $messages = $folder->messages[]->all[]->get[]; /** @var \Webklex\PHPIMAP\Message $message */ foreach[$messages as $message]{ echo $message->getSubject[].'
77 "chuỗi" — so khớp tin nhắn với văn bản "chuỗi"
'; echo 'Attachments: '.$message->getAttachments[]->count[].'
'; echo $message->getHTMLBody[]; //Move the current Message to 'INBOX.read' if[$message->move['INBOX.read'] == true]{ echo 'Message has ben moved'; }else{ echo 'Message could not be moved'; } } }use Webklex\PHPIMAP\ClientManager; use Webklex\PHPIMAP\Client; $cm = new ClientManager['path/to/config/imap.php']; // or use an array of options instead $cm = new ClientManager[$options = []]; /** @var \Webklex\PHPIMAP\Client $client */ $client = $cm->account['account_identifier']; // or create a new instance manually $client = $cm->make[[ 'host' => 'somehost.com', 'port' => 993, 'encryption' => 'ssl', 'validate_cert' => true, 'username' => 'username', 'password' => 'password', 'protocol' => 'imap' ]]; //Connect to the IMAP Server $client->connect[]; //Get all Mailboxes /** @var \Webklex\PHPIMAP\Support\FolderCollection $folders */ $folders = $client->getFolders[]; //Loop through every Mailbox /** @var \Webklex\PHPIMAP\Folder $folder */ foreach[$folders as $folder]{ //Get all Messages of the current Mailbox $folder /** @var \Webklex\PHPIMAP\Support\MessageCollection $messages */ $messages = $folder->messages[]->all[]->get[]; /** @var \Webklex\PHPIMAP\Message $message */ foreach[$messages as $message]{ echo $message->getSubject[].'
78 "chuỗi" — so khớp thư với "chuỗi" trong phần Đến
'; echo 'Attachments: '.$message->getAttachments[]->count[].'
'; echo $message->getHTMLBody[]; //Move the current Message to 'INBOX.read' if[$message->move['INBOX.read'] == true]{ echo 'Message has ben moved'; }else{ echo 'Message could not be moved'; } } }use Webklex\PHPIMAP\ClientManager; use Webklex\PHPIMAP\Client; $cm = new ClientManager['path/to/config/imap.php']; // or use an array of options instead $cm = new ClientManager[$options = []]; /** @var \Webklex\PHPIMAP\Client $client */ $client = $cm->account['account_identifier']; // or create a new instance manually $client = $cm->make[[ 'host' => 'somehost.com', 'port' => 993, 'encryption' => 'ssl', 'validate_cert' => true, 'username' => 'username', 'password' => 'password', 'protocol' => 'imap' ]]; //Connect to the IMAP Server $client->connect[]; //Get all Mailboxes /** @var \Webklex\PHPIMAP\Support\FolderCollection $folders */ $folders = $client->getFolders[]; //Loop through every Mailbox /** @var \Webklex\PHPIMAP\Folder $folder */ foreach[$folders as $folder]{ //Get all Messages of the current Mailbox $folder /** @var \Webklex\PHPIMAP\Support\MessageCollection $messages */ $messages = $folder->messages[]->all[]->get[]; /** @var \Webklex\PHPIMAP\Message $message */ foreach[$messages as $message]{ echo $message->getSubject[].'
79 — các tin nhắn phù hợp chưa được trả lời
'; echo 'Attachments: '.$message->getAttachments[]->count[].'
'; echo $message->getHTMLBody[]; //Move the current Message to 'INBOX.read' if[$message->move['INBOX.read'] == true]{ echo 'Message has ben moved'; }else{ echo 'Message could not be moved'; } } }sudo apt-get install php*-imap && sudo apache2ctl graceful
00 — khớp với các tin nhắn không bị xóasudo apt-get install php*-imap && sudo apache2ctl graceful
01 — khớp với các thông báo không được gắn cờsudo apt-get install php*-imap && sudo apache2ctl graceful
02 "chuỗi" — đối sánh các thông báo không có từ khóa "chuỗi"sudo apt-get install php*-imap && sudo apache2ctl graceful
03 — khớp với các tin nhắn chưa được đọc
Thêm thông tin
giới hạn kết quả
Giới hạn các email yêu cầu
sudo apt-get install php*-imap && sudo apache2ctl graceful0
đếm tin nhắn
Đếm tất cả các tin nhắn có sẵn phù hợp với tiêu chí tìm kiếm hiện tại
sudo apt-get install php*-imap && sudo apache2ctl graceful1
phân trang
Đánh trang một truy vấn
sudo apt-get install php*-imap && sudo apache2ctl graceful2
Phân trang một bộ sưu tập tin nhắn
sudo apt-get install php*-imap && sudo apache2ctl graceful3
Xem ví dụ về danh sách được phân trang
sudo apt-get install php*-imap && sudo apache2ctl graceful4
sudo apt-get install php*-imap && sudo apache2ctl graceful5
Bạn cũng có thể phân trang một phiên bản Thư mục-, Tệp đính kèm- hoặc FlagCollection
Xem ví dụ
Bạn có thể tìm thấy một vài ví dụ về lưỡi dao trong /examples
Tìm nạp một tin nhắn cụ thể
Nhận một tin nhắn cụ thể bằng uid [Xin lưu ý rằng uid không phải là duy nhất và có thể thay đổi]
sudo apt-get install php*-imap && sudo apache2ctl graceful6
cờ tin nhắn
Gắn cờ hoặc "bỏ gắn cờ" một thư
sudo apt-get install php*-imap && sudo apache2ctl graceful7
Đánh dấu tất cả thư là "đã đọc" trong khi tìm nạp
sudo apt-get install php*-imap && sudo apache2ctl graceful8
Không đánh dấu tất cả thư là "đã đọc" trong khi tìm nạp
sudo apt-get install php*-imap && sudo apache2ctl graceful9
tệp đính kèm
Lưu tệp đính kèm tin nhắn
composer require webklex/php-imap0
Tìm nạp nâng cao
Tìm nạp tin nhắn mà không cần tìm nạp nội dung [giảm tải]
composer require webklex/php-imap1
Tìm nạp thư mà không tìm nạp nội dung, cờ và tệp đính kèm [giảm tải]
composer require webklex/php-imap2
Thay đổi thứ tự tìm nạp tin nhắn
composer require webklex/php-imap3
Sự kiện
Các sự kiện sau đây có sẵn
sudo apt-get install php*-imap && sudo apache2ctl graceful
04 — có thể được kích hoạt bởisudo apt-get install php*-imap && sudo apache2ctl graceful
05sudo apt-get install php*-imap && sudo apache2ctl graceful
06 — được kích hoạt bởisudo apt-get install php*-imap && sudo apache2ctl graceful
07sudo apt-get install php*-imap && sudo apache2ctl graceful
08 — được kích hoạt bởisudo apt-get install php*-imap && sudo apache2ctl graceful
09sudo apt-get install php*-imap && sudo apache2ctl graceful
10 — được kích hoạt bởisudo apt-get install php*-imap && sudo apache2ctl graceful
11sudo apt-get install php*-imap && sudo apache2ctl graceful
12 — được kích hoạt bởisudo apt-get install php*-imap && sudo apache2ctl graceful
13sudo apt-get install php*-imap && sudo apache2ctl graceful
14 — được kích hoạt bởisudo apt-get install php*-imap && sudo apache2ctl graceful
15sudo apt-get install php*-imap && sudo apache2ctl graceful
16 — được kích hoạt bởisudo apt-get install php*-imap && sudo apache2ctl graceful
17sudo apt-get install php*-imap && sudo apache2ctl graceful
18 — có thể được kích hoạt bởisudo apt-get install php*-imap && sudo apache2ctl graceful
19sudo apt-get install php*-imap && sudo apache2ctl graceful
20 — được kích hoạt bởisudo apt-get install php*-imap && sudo apache2ctl graceful
21sudo apt-get install php*-imap && sudo apache2ctl graceful
22 — được kích hoạt bởisudo apt-get install php*-imap && sudo apache2ctl graceful
23
Tạo và đăng ký sự kiện tùy chỉnh của riêng bạn
composer require webklex/php-imap4
hoặc đặt nó trong tệp cấu hình của bạn bên dưới
sudo apt-get install php*-imap && sudo apache2ctl graceful24
đắp mặt nạ
PHP-IMAP đã đi kèm với hai mặt nạ mặc định và
Phiên bản đeo mặt nạ phải được gọi theo cách thủ công và được thiết kế để thêm chức năng tùy chỉnh
Bạn có thể gọi mặt nạ mặc định bằng cách gọi phương thức mặt nạ mà không có bất kỳ đối số nào
composer require webklex/php-imap5
Có một số phương pháp có sẵn để đặt mặt nạ mặc định
composer require webklex/php-imap6
Cái cuối cùng sẽ không đặt mặt nạ nhưng tạo một phiên bản được che bằng cách sử dụng mặt nạ được cung cấp
Bạn cũng có thể đặt mặt nạ mặc định bên trong tệp
sudo apt-get install php*-imap && sudo apache2ctl graceful25 của mình bên dưới
composer require webklex/php-imap26
Bạn cũng có thể đắp mặt nạ
composer require webklex/php-imap7
Nếu bạn muốn triển khai mặt nạ của riêng mình, chỉ cần mở rộng hoặc triển khai logic mong muốn của bạn
composer require webklex/php-imap8
Ví dụ bổ sung có thể được tìm thấy ở đây
đặc biệt
Tìm thư mục chứa thư
composer require webklex/php-imap9
Ủng hộ
Nếu bạn gặp phải bất kỳ vấn đề nào hoặc nếu bạn tìm thấy lỗi, vui lòng tạo một vấn đề mới. Tuy nhiên, xin lưu ý rằng có thể mất một chút thời gian để nhận được câu trả lời. Các vấn đề lạc đề, khiếm nhã hoặc lạm dụng sẽ bị xóa mà không cần thông báo trước
Nếu bạn cần hỗ trợ thương mại hoặc ngay lập tức, vui lòng gửi thư cho tôi tại github@webklex. com
Một thông báo nhỏNếu bạn viết mã nguồn trong vấn đề của mình, vui lòng cân nhắc để định dạng mã nguồn chính xác. Điều này làm cho nó dễ đọc hơn rất nhiều và mọi người có nhiều khả năng nhận xét và giúp đỡ hơn. ]
```php
echo 'mã php của bạn. ';
```
sẽ biến thành
use Webklex\PHPIMAP\ClientManager; use Webklex\PHPIMAP\Client; $cm = new ClientManager['path/to/config/imap.php']; // or use an array of options instead $cm = new ClientManager[$options = []]; /** @var \Webklex\PHPIMAP\Client $client */ $client = $cm->account['account_identifier']; // or create a new instance manually $client = $cm->make[[ 'host' => 'somehost.com', 'port' => 993, 'encryption' => 'ssl', 'validate_cert' => true, 'username' => 'username', 'password' => 'password', 'protocol' => 'imap' ]]; //Connect to the IMAP Server $client->connect[]; //Get all Mailboxes /** @var \Webklex\PHPIMAP\Support\FolderCollection $folders */ $folders = $client->getFolders[]; //Loop through every Mailbox /** @var \Webklex\PHPIMAP\Folder $folder */ foreach[$folders as $folder]{ //Get all Messages of the current Mailbox $folder /** @var \Webklex\PHPIMAP\Support\MessageCollection $messages */ $messages = $folder->messages[]->all[]->get[]; /** @var \Webklex\PHPIMAP\Message $message */ foreach[$messages as $message]{ echo $message->getSubject[].'0
'; echo 'Attachments: '.$message->getAttachments[]->count[].'
'; echo $message->getHTMLBody[]; //Move the current Message to 'INBOX.read' if[$message->move['INBOX.read'] == true]{ echo 'Message has ben moved'; }else{ echo 'Message could not be moved'; } } }
Tính năng & yêu cầu kéo
Mọi người đều có thể đóng góp cho dự án này. Mọi yêu cầu kéo sẽ được xem xét nhưng nó cũng có thể bị từ chối. Để ngăn chặn công việc không cần thiết, trước tiên hãy cân nhắc tạo một vấn đề về tính năng, nếu bạn dự định thực hiện các thay đổi lớn hơn. Tất nhiên, bạn cũng có thể tạo một vấn đề về tính năng mới nếu bạn chỉ muốn một tính năng;]
Tài liệu
MethodArgumentsReturnDescriptionsetConfigarray $configselfĐặt cấu hình Máy khách. Hãy xemsudo apt-get install php*-imap && sudo apache2ctl graceful25 để có thêm cảm hứng. getConnectionresource $connectionresourceNhận tài nguyên hình ảnh hiện tạiisConnectedboolXác định xem kết nối có được thiết lập hay không. checkConnectionXác định xem kết nối đã được thiết lập chưa và kết nối nếu không. kết nối Kết nối với máy chủ. kết nối lạiChấm dứt và kết nối lại với máy chủ. ngắt kết nối Ngắt kết nối với máy chủ. getFolderstring $folder_name, $delimiter = nullFolderNhận phiên bản Thư mục theo tên hoặc đường dẫngetFoldersbool $hierarchical, string hoặc null $parent_folderFolderCollectionNhận danh sách thư mục. Nếu thứ tự phân cấp được đặt thành true, nó sẽ tạo một cây thư mục, nếu không, nó sẽ trả về mảng phẳng. openFolderstring hoặc Thư mục $folder, integer $attemptsMở một thư mục nhất định. createFolderstring $namebooleanTạo thư mục mới. getQuotaarrayTruy xuất cài đặt mức hạn ngạch và thống kê sử dụng trên mỗi hộp thưgetQuotaRootstring $quota_rootarrayTruy xuất cài đặt hạn ngạch trên mỗi người dùngexpungeboolXóa tất cả thư được đánh dấu để xóasetTimeoutstring hoặc int $type, int $timeoutbooleanĐặt thời gian chờ cho một số thao tác imap nhất định. 1. mở, 2. Đọc, 3. Viết, 4. ClosegetTimeoutstring hoặc int $typeintKiểm tra hộp thư hiện tạisetDefaultMessageMaskstring $maskselfĐặt lớp mặt nạ thông báo mặc địnhgetDefaultMessageMaskstringLấy tên lớp mặt nạ thông báo mặc định hiện tạisetDefaultAttachmentMaskstring $maskselfĐặt lớp mặt nạ tệp đính kèm mặc địnhgetDefaultAttachmentMaskstringLấy tên lớp mặt nạ tệp đính kèm mặc định hiện tạigetFolderPathstringLấy đường dẫn thư mục hiện tạiMethodArgumentsReturnDescriptionBodyMessagePhân tích nội dung thư . set Childrenarray $ childrenselfĐặt con. xóaXóa Hộp thư hiện tạiđăng kýĐăng ký vào Hộp thư hiện tạiunsubscribeHủy đăng ký khỏi Hộp thư hiện tạiidlecallable$callback[Message $new_message]Không hoạt động thư mục hiện tạimovestring $mailboxDi chuyển hoặc Đổi tên Hộp thư hiện tạirenamestring $mailboxDi chuyển hoặc Đổi tên Hộp thư hiện tạigetStatusarrayTrả về thông tin trạng thái trên hộp thư hiện tạiexaminearrayTrả về thông tin trạng thái trên hộp thư hiện tạiappendMessagestring $ . truy vấn[] chuỗi tìm kiếm $charset = 'UTF-8'WhereQueryAlias cho thư mục. query[] MethodArgumentsReturnDes mô tảwheremixed $criteria, $value = nullWhereQueryThêm tiêu chí mới cho truy vấn hiện tại hoặc WhereClosure $closure WhereQuery Nếu được hỗ trợ, bạn có thể thực hiện các yêu cầu tìm kiếm mở rộng và WhereClosure $closure WhereQuery Nếu được hỗ trợ, bạn có thể thực hiện các yêu cầu tìm kiếm mở rộng all WhereQueryChọn tất cả các thư hiện có đã trả lờiWhereQueryChọn các thư đã trả lờixóa WhereQueryChọn các thư đã xóanewWhereQueryChọn các thư mớinotWhereQueryKhông chọn các thưoldWhereQueryChọn các thư cũrecentWhereQueryChọn các thư gần đâyseenWhereQuerySelect . ]chuỗi văn bản $valueWhereQueryChọn thư khớp với một nội dung văn bản nhất địnhsubjectstring $valueWhereQueryChọn thư khớp với một chủ đề nhất định từ chuỗi $valueWhereQueryChọn thư từ một ngày nhất định trên chuỗi $valueWhereQueryChọn thư vào một ngày nhất địnhchuỗi từ khóa $valueWhereQueryChọn thư khớp với một từ khóa nhất địnhtừchuỗi $valueWhereQueryChọn thư khớp với một người gửi nhất định [Từ. ]flaggedstring $valueWhereQueryChọn tin nhắn khớp với một flagccstring đã cho $valueWhereQueryChọn tin nhắn khớp với một người nhận nhất định [CC. ]bodystring $valueWhereQueryChọn thư khớp với nội dung HTML đã cho trướcchuỗi $valueWhereQueryChọn thư trước chuỗi ngày tháng cho trướcbccstring $valueWhereQueryChọn thư khớp với người nhận nhất định [BCC. ]countintegerĐếm tất cả thư có sẵn khớp với tiêu chí tìm kiếm hiện tạigetMessageCollectionTìm nạp thư với truy vấn hiện tạilimitinteger $limit, integer $page = 1WhereQueryGiới hạn số lượng thư được tìm nạpsetFetchOptionsboolean $fetch_optionsWhereQueryĐặt tùy chọn tìm nạpsetFetchBodyboolean $fetch_bodyWhereQueryĐặt tùy chọn nội dung tìm nạpsetFetchFlagsboolean $fetch_flagsWhereQueryĐặt tùy chọn cờ tìm nạpsetFetchOrderstring $fetch_orderWhereQueryTìm nạp . markAsReadWhereQueryĐánh dấu tất cả thư là "đã đọc" trong khi tìm nạppaginateint $perPage = 5, $page = null, $pageName = 'imap_page'LengthAwarePaginatorPhân trang truy vấn hiện tại. MethodArgumentsReturnDescriptiongetContentstring hoặc nullNhận nội dung tệp đính kèmgetMimeTypestring hoặc nullNhận tệp đính kèm loại mimegetExtensionstring hoặc nullNhận phần mở rộng tệp đính kèm đã đoángetIdstring hoặc nullNhận tệp đính kèm idgetNamestring hoặc nullNhận tên tệp đính kèmgetContentstring hoặc nullNhận nội dung tệp đính kèmsetSizeint hoặc nullNhận kích thước tệp đính kèmgetTypestring hoặc nullNhận loại tệp đính kèmgetDispositionstring hoặc nullNhận tệp đính kèm bố trígetContentTypestring hoặc nullNhận loại nội dung tệp đính kèmavestring $path, string $
Mở rộng Chiếu sáng\Hỗ trợ\Bộ sưu tập. lớp
MethodArgumentsReturnDescriptionpaginateint $perPage = 15, $page = null, $pageName = 'page'LengthAwarePaginatorPaginate bộ sưu tập hiện tạiMở rộng Chiếu sáng\Hỗ trợ\Bộ sưu tập. lớp
MethodArgumentsReturnDescriptionpaginateint $perPage = 15, $page = null, $pageName = 'page'LengthAwarePaginatorPaginate bộ sưu tập hiện tạiMở rộng Chiếu sáng\Hỗ trợ\Bộ sưu tập. lớp
MethodArgumentsReturnDescriptionpaginateint $perPage = 15, $page = null, $pageName = 'page'LengthAwarePaginatorPaginate bộ sưu tập hiện tạiMở rộng Chiếu sáng\Hỗ trợ\Bộ sưu tập. lớp
MethodArgumentsReturnDescriptionpaginateint $perPage = 15, $page = null, $pageName = 'page'LengthAwarePaginatorPaginate bộ sưu tập hiện tạiCác vấn đề đã biết
Lỗi ErrorSolutionKerberos. Không tìm thấy tệp bộ đệm thông tin xác thực [thử chạy kinit] [. ] Bỏ ghi chú "DISABLE_AUTHENTICATOR" bên trong và sử dụng giao thứcuse Webklex\PHPIMAP\ClientManager; use Webklex\PHPIMAP\Client; $cm = new ClientManager['path/to/config/imap.php']; // or use an array of options instead $cm = new ClientManager[$options = []]; /** @var \Webklex\PHPIMAP\Client $client */ $client = $cm->account['account_identifier']; // or create a new instance manually $client = $cm->make[[ 'host' => 'somehost.com', 'port' => 993, 'encryption' => 'ssl', 'validate_cert' => true, 'username' => 'username', 'password' => 'password', 'protocol' => 'imap' ]]; //Connect to the IMAP Server $client->connect[]; //Get all Mailboxes /** @var \Webklex\PHPIMAP\Support\FolderCollection $folders */ $folders = $client->getFolders[]; //Loop through every Mailbox /** @var \Webklex\PHPIMAP\Folder $folder */ foreach[$folders as $folder]{ //Get all Messages of the current Mailbox $folder /** @var \Webklex\PHPIMAP\Support\MessageCollection $messages */ $messages = $folder->messages[]->all[]->get[]; /** @var \Webklex\PHPIMAP\Message $message */ foreach[$messages as $message]{ echo $message->getSubject[].'4
'; echo 'Attachments: '.$message->getAttachments[]->count[].'
'; echo $message->getHTMLBody[]; //Move the current Message to 'INBOX.read' if[$message->move['INBOX.read'] == true]{ echo 'Message has ben moved'; }else{ echo 'Message could not be moved'; } } }
Thay đổi nhật ký
Vui lòng xem CHANGELOG để biết thêm thông tin về những thay đổi gần đây
Bảo vệ
Nếu bạn phát hiện ra bất kỳ vấn đề nào liên quan đến bảo mật, vui lòng gửi email tới github@webklex. com thay vì sử dụng trình theo dõi vấn đề