Hướng dẫn download php-imap extension - tải xuống phần mở rộng php-imap

Chúng ta sẽ Login SSH vào VPS và làm theo hướng dẫn như hình bên dưới . Gõ các lệnh theo trình tự để cài IMAP Extension :

Lưu ý: 

  • Với hệ điều hành Centos , ta dùng lệnh : yum -y install pam-develyum -y install pam-devel
  • Còn Ubuntu ta dùng : apt-get install libc-client-dev apt-get install libc-client-dev 

Hướng dẫn download php-imap extension - tải xuống phần mở rộng php-imap

Sau khi hoàn tất các bước trên , ta gõ lệnh: reboot .reboot .

Tham khảo thêm ở link sau  : https://help.directadmin.com/item.php?id=341

Skip to content

Chúng ta sẽ Login SSH vào VPS và làm theo hướng dẫn như hình bên dưới . Gõ các lệnh theo trình tự để cài IMAP Extension :

* Lưu ý:  Với hệ điều hành Centos , ta dùng lệnh :

yum -y install pam-devel

Còn Ubuntu ta dùng :

apt-get install libc-client-dev 

Tiếp theo chúng ta copy dòng lệnh sau để cài đặt imap extension:

cd /rootwget -O imap_php.sh files.directadmin.com/services/all/imap_php.shchmod 755 imap_php.sh./imap_php.sh
wget -O imap_php.sh files.directadmin.com/services/all/imap_php.sh
chmod 755 imap_php.sh
./imap_php.sh

Sau khi cài đặt xong, chúng ta sẽ dùng lệnh bên dưới để kiểm tra trạng thái của imap:

./imap_php.sh –check

Ảnh kèm :

Hướng dẫn download php-imap extension - tải xuống phần mở rộng php-imap

Sau khi hoàn tất các bước trên , ta gõ lệnh: reboot .reboot .

Tham khảo thêm ở link sau  : https://help.directadmin.com/item.php?id=341

Trên là các hàm cơ bản mình đã tìm hiểu áp dụng để lấy được thông tin mail từ Gmail, Yahoo.... Còn rất nhiều hàm hỗ trợ của php-imap extension. Các bạn có thể tìm hiểu thêm qua link tham khảo dưới:

Mở Đầu

Hướng dẫn download php-imap extension - tải xuống phần mở rộng php-imap
). Tuy nhiên khi nói đến đây, mình đoán nhiều bạn sẽ bảo: "Tại sao phải cần đi sâu vào core của các thư viện ?. Thư viên sinh ra thì mình cứ dùng thôi". Và đến một ngày, dự án yêu cầu chức năng lấy mail từ Google, Yahoo... về hệ thống, với một thư viện thì việc đó đã được hỗ trợ tận răng, tuy nhiên đời không như là mơ khi vấn đề xảy ra với một số lượng mail lớn, thư viện dùng rất chậm và đôi khi time-out. Lúc này yêu cầu là phải cải thiện lại tốc độ lấy mail, không còn cách nào khác mình đã phải nhảy vào đọc core của thư viện đó và phát hiện ra nó dùng một extension của PHP để lấy mail từ hệ thống. Đó chính là php-imap.

Định Nghĩa và Các Hàm Cơ Bản Trong php-imap

php-imap là một extension cho phép bạn hoạt động với giao thức IMAP, cũng như các phương thức truy cập hộp thư cục bộ NNTP, POP3 và cục bộ. là một extension cho phép bạn hoạt động với giao thức IMAP, cũng như các phương thức truy cập hộp thư cục bộ NNTP, POP3 và cục bộ.

  • imap_open: mở một kết nối đến hòm thư. Chức năng này cũng có thể được sử dụng để mở luồng đến máy chủ POP3 và NNTP, nhưng một số chức năng và tính năng chỉ khả dụng trên máy chủ IMAP. Kết nối sẽ trả về kết nối IMAP khi kết nối thành công và FALSE khi thất bại.: mở một kết nối đến hòm thư. Chức năng này cũng có thể được sử dụng để mở luồng đến máy chủ POP3 và NNTP, nhưng một số chức năng và tính năng chỉ khả dụng trên máy chủ IMAP. Kết nối sẽ trả về kết nối IMAP khi kết nối thành công và FALSE khi thất bại.
imap_open ( string $mailbox , string $username , string $password [, int $options = 0 [, int $n_retries = 0 [, array $params = array() ]]] ) : resource

$mailbox là đường link dẫn đến hòm thư bạn muốn lấy dữ liệu. VD: {localhost:993/imap/ssl}INBOX

$username là tên đăng nhập của tài khoản mail của bạn.

$password là mật khẩu của tài khoản mail của bạn.

  • imap_check kiểm tra thông tin của hòm mail bạn đang kết nối kiểm tra thông tin của hòm mail bạn đang kết nối
imap_check ( resource $imap_stream ) : object

$imap_stream chính là kết quả trả về sau khi bạn connect đến hòm mail bởi

imap_check ( resource $imap_stream ) : object
0. Hàm sẽ trả về thông tin như:

imap_check ( resource $imap_stream ) : object
1: thời gian hệ thống hiện tại được định dạng theo »RFC2822

imap_check ( resource $imap_stream ) : object
2: giao thức được sử dụng để truy cập hộp thư này: POP3, IMAP, NNTP

imap_check ( resource $imap_stream ) : object
3: Tên hòm thư

imap_check ( resource $imap_stream ) : object
4: Số lượng mail đang có trong hòm thư

imap_check ( resource $imap_stream ) : object
5: số lượng mail gần đây trong hòm thư

  • imap_fetch_overview: Đọc tổng quan về thông tin trong các tiêu đề của tin nhắn đã cho. Sau khi đã kết nối và kiểm tra hòm thư, tiếp đến ta bắt đầu lấy thông tin tổng quát của các mail trong hòm thư của bạn.: Đọc tổng quan về thông tin trong các tiêu đề của tin nhắn đã cho. Sau khi đã kết nối và kiểm tra hòm thư, tiếp đến ta bắt đầu lấy thông tin tổng quát của các mail trong hòm thư của bạn.
imap_fetch_overview ( resource $imap_stream , string $sequence [, int $options = 0 ] ) : array

$imap_stream chính là kết quả trả về sau khi bạn connect đến hòm mail bởi

imap_check ( resource $imap_stream ) : object
0.

imap_check ( resource $imap_stream ) : object
8 Một mô tả trình tự tin nhắn. Bạn có thể liệt kê các tin nhắn mong muốn bằng cú pháp X, Y hoặc truy xuất tất cả các tin nhắn trong một khoảng thời gian với cú pháp X: Y (X và Y là số tin nhắn) ví dụ: Sequence: 1:10 nghĩa là bạn sẽ lấy mail có số tin nhắn 1 đến mail có số tin nhắn 10

imap_check ( resource $imap_stream ) : object
9 squence sẽ chứa một chuỗi các chỉ số thông báo hoặc UID, nếu tham số này được đặt thành FT_UID.

  • imap_headerinfo: lấy thông tin header của mail: lấy thông tin header của mail
imap_headerinfo ( resource $imap_stream , int $msg_number [, int $fromlength = 0 [, int $subjectlength = 0 [, string $defaulthost = NULL ]]] ) : object

$imap_stream: hính là kết quả trả về sau khi bạn connect đến hòm mail bởi

imap_check ( resource $imap_stream ) : object
0.

imap_fetch_overview ( resource $imap_stream , string $sequence [, int $options = 0 ] ) : array
2: số tin nhắn

  • imap_fetchbody: Lấy một phần cụ thể của phần thân của các thông báo đã chỉ định. Các bộ phận cơ thể không được giải mã bởi chức năng này.: Lấy một phần cụ thể của phần thân của các thông báo đã chỉ định. Các bộ phận cơ thể không được giải mã bởi chức năng này.
imap_fetchbody ( resource $imap_stream , int $msg_number , string $section [, int $options = 0 ] ) : string

$imap_stream: hính là kết quả trả về sau khi bạn connect đến hòm mail bởi

imap_check ( resource $imap_stream ) : object
0.

imap_fetch_overview ( resource $imap_stream , string $sequence [, int $options = 0 ] ) : array
2: số tin nhắn

imap_fetchbody: Lấy một phần cụ thể của phần thân của các thông báo đã chỉ định. Các bộ phận cơ thể không được giải mã bởi chức năng này.

``$section```: Số phần. Đó là một chuỗi các số nguyên được phân tách theo khoảng thời gian chỉ mục vào danh sách bộ phận cơ thể theo thông số kỹ thuật của IMAP4

  • imap_check ( resource $imap_stream ) : object
    
    9: squence sẽ chứa một chuỗi các chỉ số thông báo hoặc UID, nếu tham số này được đặt thành FT_UID.
    : đóng kết nối IMAP
imap_close ( resource $imap_stream [, int $flag = 0 ] ) : bool

imap_close: đóng kết nối IMAP

https://www.php.net/manual/en/book.imap.php