Hướng dẫn php-imap extension ubuntu - php-imap mở rộng ubuntu

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 php-imap extension ubuntu - php-imap mở rộng ubuntu

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

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

apt-get install libc-client-dev reboot .

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

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

Tags: DirectAdmin

Mở Đầu

Với sự phát triển chóng mặt và sự tiện lợi của các framework hiện nay thì việc tìm ra được một thư viện để hỗ trợ việc lấy mail từ Google, Yahoo... là không quá khó. Tuy nhiên, số nhiều chúng ta thường chỉ quan tâm vào việc các thư viên đó dùng như nào và hỗ trợ tốt cho các chức năng mình cần mà không hề quan tâm đến sâu bên trong các thư viện đó đang hoạt động như nào (ngay cả mình cũng thế 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 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ộ.

  • 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ộ.: 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

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.

$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.

  • apt-get install libc-client-dev
    0 là mật khẩu của tài khoản mail của bạn.
    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_check kiểm tra thông tin của hòm mail bạn đang kết nối

apt-get install libc-client-dev
1 chính là kết quả trả về sau khi bạn connect đến hòm mail bởi
apt-get install libc-client-dev
2. Hàm sẽ trả về thông tin như:

apt-get install libc-client-dev
3: thời gian hệ thống hiện tại được định dạng theo »RFC2822

apt-get install libc-client-dev
4: giao thức được sử dụng để truy cập hộp thư này: POP3, IMAP, NNTP

apt-get install libc-client-dev
5: Tên hòm thư

apt-get install libc-client-dev
6: Số lượng mail đang có trong hòm thư

  • apt-get install libc-client-dev
    7: số lượng mail gần đây trong hòm thư
    : Đọ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_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.

apt-get install libc-client-dev
1 chính là kết quả trả về sau khi bạn connect đến hòm mail bởi
apt-get install libc-client-dev
2.

imap_open ( string $mailbox , string $username , string $password [, int $options = 0 [, int $n_retries = 0 [, array $params = array() ]]] ) : resource
0 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_open ( string $mailbox , string $username , string $password [, int $options = 0 [, int $n_retries = 0 [, array $params = array() ]]] ) : resource
    
    1 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.
    : 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_headerinfo: lấy thông tin header của mail

apt-get install libc-client-dev
1: hính là kết quả trả về sau khi bạn connect đến hòm mail bởi
apt-get install libc-client-dev
2.

  • imap_open ( string $mailbox , string $username , string $password [, int $options = 0 [, int $n_retries = 0 [, array $params = array() ]]] ) : resource
    
    4: số tin nhắn
    : 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_headerinfo: lấy thông tin header của mail

apt-get install libc-client-dev
1: hính là kết quả trả về sau khi bạn connect đến hòm mail bởi
apt-get install libc-client-dev
2.

imap_open ( string $mailbox , string $username , string $password [, int $options = 0 [, int $n_retries = 0 [, array $params = array() ]]] ) : resource
4: 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.

  • imap_close: đóng kết nối IMAP: đóng kết nối IMAP
imap_close ( resource $imap_stream [, int $flag = 0 ] ) : bool

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:

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