Đồng hồ đo áp suất đồng hồ đo áp suất

Thư viện Máy khách IMAP Horde là giải pháp PHP hàng đầu để tương tác với các máy chủ thư IMAP (và POP3).

Thư viện trình bày một giao diện hoàn toàn trừu tượng cho máy chủ IMAP/POP3, giúp nhà phát triển không phải lo lắng về các giao thức cơ bản phức tạp

Thư viện cung cấp trình điều khiển PHP gốc không yêu cầu các tiện ích mở rộng tùy chọn bổ sung được tích hợp vào PHP tại thời điểm biên dịch

Có thể tìm thấy danh sách đầy đủ các tính năng trên trang Tính năng

Tại sao không sử dụng phần mở rộng PHP IMAP?

Horde/Imap_Client nhanh hơn đáng kể, nhiều tính năng hơn và có thể mở rộng khi so sánh với tiện ích mở rộng imap (c-client) của PHP

Đừng nhầm lẫn. hầu hết mọi thứ được gọi là "Thư viện IMAP PHP" không có gì khác ngoài một trình bao bọc mỏng xung quanh tiện ích mở rộng imap, vì vậy KHÔNG CÓ thư viện nào trong số này có thể khắc phục các hạn chế cơ bản của tiện ích mở rộng đó

Việc phát triển Horde/Imap_Client chủ yếu được tài trợ bởi một Nhà cung cấp dịch vụ Internet lớn chính xác là do tiện ích mở rộng imap không thể hỗ trợ lưu lượng truy cập hiện có trên hệ thống của họ. Horde/Imap_Client đã cung cấp năng lượng cho các chương trình phụ trợ thư có thể truy cập web của họ trong hơn năm năm, hỗ trợ hàng nghìn kết nối đồng thời và hàng triệu tài khoản đang hoạt động.

người dùng

Horde/Imap_Client được Ứng dụng IMP Webmail sử dụng, chương trình webmail mã nguồn mở tiên tiến nhất hiện có.

Ngoài ra, Dự án Horde sử dụng thư viện Horde/Imap_Client để đồng bộ hóa tài khoản e-mail của người dùng với các thiết bị ActiveSync.

Tuy nhiên, khung Horde KHÔNG cần phải được cài đặt trên máy chủ của bạn để sử dụng Horde/Imap_Client. cài đặt sẽ tự động cài đặt tất cả các phụ thuộc cần thiết

Bài đăng này là một phần của loạt bài đang diễn ra trên blog này về cách kết nối với hộp thư IMAP bằng PHP, cuối cùng chỉ ra cách tải xuống và phân tích báo cáo từ Google Analytics. Khi đăng nhập vào máy chủ IMAP bằng PHP, hộp thư mặc định được sử dụng – thường là INBOX. Bài đăng này xem xét cách liệt kê các hộp thư cho tài khoản IMAP và sau đó là cách kết nối với một trong các hộp thư khác.

Liệt kê các hộp thư

Các ví dụ trong bài đăng này sẽ sử dụng tài khoản Gmail làm ví dụ. Trong Gmail, bạn có thể tạo "Nhãn" được hiển thị dưới dạng hộp thư khi bạn đăng nhập bằng IMAP.

Chúng ta cần sử dụng chuỗi kết nối máy chủ nhiều lần khi sử dụng các hàm PHP IMAP để thay đổi hộp thư, vì vậy, tốt nhất là lưu chuỗi này dưới dạng một biến. Trong các ví dụ bên dưới, chúng tôi sẽ kết nối với Gmail để chuỗi máy chủ sẽ được xác định như vậy (tham khảo cách sử dụng các hàm PHP IMAP của tôi để tải xuống email từ bài đăng trên Gmail để biết thêm chi tiết)

$server = '{imap.gmail.com:993/ssl}';

Sau đó, chúng tôi kết nối với máy chủ

$connection = imap_open($server, $login, $password);

Để có danh sách các hộp thư, hãy sử dụng hàm imap_list() như vậy

$mailboxes = imap_list($connection, $server, '*');

Tham số thứ ba là khớp mẫu và * biểu thị trả về tất cả các hộp thư. Ví dụ: bạn có thể chuyển '[Google Mail]*' để chỉ hiển thị hộp thư Gmail chứ không phải nhãn tùy chỉnh của riêng bạn.

Làm print_r($mailboxes) sẽ hiển thị như thế này

Array
(
    [0] => {imap.gmail.com:993/ssl}INBOX
    [1] => {imap.gmail.com:993/ssl}Personal
    [2] => {imap.gmail.com:993/ssl}Servers
    [3] => {imap.gmail.com:993/ssl}[Google Mail]/All Mail
    [4] => {imap.gmail.com:993/ssl}[Google Mail]/Bin
    [5] => {imap.gmail.com:993/ssl}[Google Mail]/Drafts
    [6] => {imap.gmail.com:993/ssl}[Google Mail]/Sent Mail
    [7] => {imap.gmail.com:993/ssl}[Google Mail]/Spam
    [8] => {imap.gmail.com:993/ssl}[Google Mail]/Starred
)

Trong ví dụ trên, INBOX là hộp thư đến mặc định, "Cá nhân" và "Máy chủ" là một số nhãn tùy chỉnh mà tôi đã thiết lập và phần còn lại là các hộp thư đặc biệt của Gmail.

Để lặp lại và chỉ hiển thị tên chứ không phải máy chủ, bạn có thể làm điều gì đó như thế này, loại bỏ tên máy chủ bằng cách sử dụng str_replace()

foreach($mailboxes as $mailbox) {
    $shortname = str_replace($server, '', $mailbox);
    echo "$shortnamen";
}

và danh sách kết quả sẽ như thế này

INBOX
Personal
Servers
[Google Mail]/All Mail
[Google Mail]/Bin
[Google Mail]/Drafts
[Google Mail]/Sent Mail
[Google Mail]/Spam
[Google Mail]/Starred

Kết nối với hộp thư

Sử dụng hàm imap_reopen() để kết nối với hộp thư khác. Bạn cần chuyển kết nối đã được thiết lập và sau đó là hộp thư để kết nối với. Tên hộp thư phải bao gồm chuỗi máy chủ. Ví dụ sau kết nối với hộp thư 'Máy chủ'

imap_reopen($connection, $server.'Servers');

Sau đó, bạn có thể sử dụng các chức năng IMAP khác để lặp qua thư trong hộp thư đó và hiển thị thư từ hộp thư đó. Tôi đã trình bày cách lặp qua hộp thư trong một bài đăng trước đó nên bạn chỉ cần kết nối với hộp thư rồi lặp qua các thư theo cách thông thường.

Bài viết tương lai

Bài đăng tiếp theo trong loạt bài này, vào thời điểm này vào tuần tới, sẽ xem xét cách duyệt qua hộp thư để tìm kiếm một thư cụ thể dựa trên chủ đề. Sau đó, hai bài đăng sau sẽ trích xuất dữ liệu Google Analytics từ các email để bạn có thể đưa vào cơ sở dữ liệu, v.v. Sau đó, tôi sẽ xem xét các chức năng IMAP khác và một số thư viện khác để kết nối với tài khoản email bằng PHP. Hãy nhớ đăng ký nguồn cấp dữ liệu RSS của tôi (chi tiết bên dưới) để bạn không bỏ lỡ loạt bài này

Làm cách nào để sử dụng IMAP PHP?

Bật Tiện ích mở rộng IMAP trong cài đặt PHP. .
Mở Gmail
Nhấp vào Cài đặt
Chọn tab Chuyển tiếp và POP/IMAP màu xanh lam
Chọn “Truy cập IMAP. và Kích hoạt nút radio IMAP.
Nhấp vào Lưu thay đổi
Đừng quên bật quyền truy cập ứng dụng kém an toàn cho tài khoản Gmail

Phần mở rộng IMAP PHP là gì?

PHP-IMAP được dùng để truy cập thư hiệu quả từ máy chủ IMAP . IMAP lưu trữ email trên máy chủ và có thể tải xuống theo yêu cầu. Để truy cập máy chủ IMAP, chúng tôi phải sử dụng tiện ích mở rộng PHP IMAP, giờ đây, sử dụng tiện ích mở rộng này, chúng tôi có thể thực hiện một số thao tác để nhận các phần khác nhau của thông báo.

Làm cách nào để bật tiện ích mở rộng IMAP PHP trong xampp?

Để kích hoạt Imap trên Xampp và Wamp đi kèm với Tiện ích mở rộng IMAP được cài đặt sẵn, bạn chỉ cần bỏ ghi chú Tiện ích mở rộng IMAP khỏi tệp php. ini của phiên bản PHP mà bạn đang sử dụng , nó sẽ kích hoạt sau khi khởi động lại dịch vụ apache.

Làm cách nào để sử dụng IMAP với Gmail trong PHP?

Cấu hình IMAP trong Môi trường PHP và Gmail .
Cài đặt thư viện PHP IMAP. .
Bật phần mở rộng thư viện IMAP trong tệp cấu hình PHP, xóa dấu chấm phẩy (;) ở đầu dòng. .
Tăng giới hạn cho chỉ thị max_execution_time trong php. tập tin ini
Khởi động lại apache để những thay đổi này có hiệu quả