Pengurusan bendera e -mel
Setiap mesej e -mel membawa bendera yang menunjukkan statusnya (belum dibaca, dijawab, ditandakan, draf, dan lain -lain). Hartanah mendedahkan status baca ("u" untuk belum dibaca). Kami boleh memanfaatkan ini untuk memaparkan e -mel gaya dinamik: Unseen
<?php $numMessages = imap_num_msg($imap); for ($i = $numMessages; $i > ($numMessages - 20); $i--) { $header = imap_header($imap, $i); $uid = imap_uid($imap, $i); $class = ($header->Unseen == "U") ? "unreadMsg" : "readMsg"; echo "<ul class='" . $class . "'></ul>"; // ... (rest of the code to display email details) ... } ?>
.unreadMsg { color: #000; font-weight: bold; } .readMsg { color: #999; }
, "f" untuk ditandakan), boleh ditetapkan menggunakan Flagged
: imap_setflag_full()
<?php $status = imap_setflag_full($imap, $uid, "\Seen \Flagged", ST_UID); ?>
Memadam e -mel
Menghapus e -mel melibatkan dua langkah: menandakan untuk penghapusan () dan kemudian menghapuskannya secara fizikal (imap_delete()
): imap_expunge()
<?php imap_delete($imap, $uid, FT_UID); imap_expunge($imap); ?>
Bekerja dengan lampiran e -mel
Menguruskan lampiran adalah penting. Kami akan menggunakan untuk menganalisis struktur mesej dan mengenal pasti lampiran. Struktur mendedahkan butiran lampiran, termasuk pelupusan ("lampiran"). imap_fetchstructure()
<?php function getAttachments($imap, $mailNum, $part, $partNum) { // ... (recursive function to extract attachment details) ... } ?>
Muat turun lampiran
fungsi mengendalikan proses muat turun: downloadAttachment()
<?php function downloadAttachment($imap, $uid, $partNum, $encoding, $path) { // ... (function to download attachment based on encoding) ... } ?>
, menguraikannya berdasarkan pengekodan, dan menghantar tajuk yang sesuai untuk muat turun penyemak imbas. imap_fetchbody()
Kesimpulan
Panduan Komprehensif ini memberi anda kuasa untuk membina pembaca e -mel yang mantap menggunakan perpustakaan IMAP PHP. Terokai fungsi IMAP yang selebihnya untuk meningkatkan lagi keupayaan pengendalian e -mel anda.
Soalan Lazim (Soalan Lazim)
Seksyen Soalan Lazim tetap tidak berubah, memberikan jawapan ringkas kepada soalan -soalan biasa mengenai pemasangan pelanjutan IMAP, muat turun lampiran, dan pengendalian ralat dalam konteks PHP IMAP.Atas ialah kandungan terperinci PHP Master | Meneroka Perpustakaan PHP IMAP, Bahagian 2. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!