Rumah > Artikel > pembangunan bahagian belakang > Penghuraian e-mel PHP: Menghuraikan dan mengekstrak maklumat daripada e-mel.
Penghuraian E-mel PHP: Menghuraikan dan mengeluarkan maklumat daripada e-mel
Sebagai kaedah komunikasi yang biasa, e-mel selalunya mengandungi banyak maklumat berguna. Dalam pengaturcaraan, kadangkala kita perlu menghuraikan e-mel dan mengekstrak kandungannya untuk pemprosesan seterusnya. Dalam artikel ini, kami akan membincangkan cara menggunakan PHP untuk menghuraikan dan mengekstrak maklumat daripada e-mel, dan memberikan contoh kod khusus.
1. Menghuraikan e-mel
Dalam PHP, anda boleh menggunakan sambungan imap terbina dalam untuk menghuraikan e-mel. Sambungan imap menyediakan satu siri fungsi yang boleh membantu kami menyambung ke pelayan peti mel, membaca mel dan menghuraikan kandungannya. Berikut ialah contoh kod untuk menghuraikan e-mel:
<?php // 连接到邮箱服务器 $mailbox = imap_open('{imap.example.com:993/ssl}INBOX', 'your_username', 'your_password'); // 获取邮件数量 $mailCount = imap_num_msg($mailbox); // 循环遍历每封邮件 for ($i = 1; $i <= $mailCount; $i++) { // 获取邮件头信息 $header = imap_headerinfo($mailbox, $i); // 打印邮件主题和发件人 echo "主题:{$header->subject} "; echo "发件人:{$header->fromaddress} "; // 获取邮件内容 $body = imap_body($mailbox, $i); // 打印邮件内容 echo "内容:{$body} "; // 进行其他操作,如提取附件等 // 标记邮件为已读 imap_setflag_full($mailbox, $i, "\Seen"); } // 关闭邮箱连接 imap_close($mailbox); ?>
Kod di atas mula-mula bersambung ke pelayan e-mel, kemudian mendapat bilangan e-mel dan gelung melalui setiap e-mel. Maklumat pengepala e-mel, termasuk subjek dan pengirim, boleh diperoleh dengan memanggil fungsi imap_headerinfo. Kandungan e-mel boleh didapati dengan memanggil fungsi imap_body. Dalam penggunaan sebenar, kami boleh mengeluarkan lebih banyak maklumat e-mel seperti yang diperlukan, seperti orang salinan karbon, masa, dsb.
2. Ekstrak maklumat dalam e-mel
Maklumat dalam e-mel mungkin termasuk teks, kandungan HTML, lampiran, dsb. Dalam PHP, kita boleh menggunakan pelbagai fungsi pemprosesan rentetan dan ungkapan biasa untuk mengekstrak maklumat daripada e-mel. Berikut ialah beberapa keperluan biasa dan kaedah pengekstrakan yang sepadan:
Pautan dalam e-mel biasanya bermula dengan <a href="url">text</a>
muncul . Kita boleh menggunakan ungkapan biasa untuk mengekstrak pautan. Kod sampel adalah seperti berikut: <a href="url">text</a>
的形式出现。我们可以使用正则表达式来提取其中的链接。示例代码如下:
preg_match_all('/<as+href=['"]([^"']+)["'][^>]*>(.*?)</a>/i', $body, $matches); // 打印提取到的链接 foreach ($matches[1] as $url) { echo "链接:{$url} "; }
邮件中的图片通常以 <img src="url" alt="text">
preg_match_all('/<img s+src=['"]([^"']+)["'][^ alt="Penghuraian e-mel PHP: Menghuraikan dan mengekstrak maklumat daripada e-mel." >]*>/i', $body, $matches); // 打印提取到的图片URL foreach ($matches[1] as $url) { echo "图片URL:{$url} "; }
<img src="url" alt="text"> muncul. Kita boleh menggunakan ungkapan biasa untuk mengekstrak URL imej. Kod sampel adalah seperti berikut:
// 获取附件信息 $structure = imap_fetchstructure($mailbox, $i); // 遍历附件 foreach ($structure->parts as $part) { if (isset($part->disposition) && $part->disposition == 'attachment') { echo "附件:{$part->dparameters[0]->value} "; } }Ekstrak lampiran dalam e-mel
Lampiran dalam e-mel boleh diekstrak mengikut jenis mime. Kod sampel adalah seperti berikut:
rrreeeDalam kod di atas, kami memperoleh maklumat struktur e-mel dengan memanggil fungsi imap_fetchstructure, dan kemudian melintasi bahagian dalam struktur. Jika pelupusan bahagian tertentu adalah lampiran, ini bermakna bahagian itu adalah lampiran, dan kemudian anda boleh mendapatkan nama failnya dan maklumat lampiran lain.
🎜Ringkasan🎜🎜Artikel ini memperkenalkan cara menggunakan PHP untuk menghuraikan dan mengekstrak maklumat daripada e-mel. Dengan menggunakan sambungan imap, kami boleh menyambung ke pelayan peti mel, membaca mel dan menghuraikan kandungannya. Melalui fungsi pemprosesan rentetan dan ungkapan biasa, kami boleh mengekstrak maklumat seperti pautan, imej dan lampiran dalam e-mel. Dalam aplikasi praktikal, kami boleh melakukan pemprosesan dan analisis selanjutnya mengikut keperluan. 🎜Atas ialah kandungan terperinci Penghuraian e-mel PHP: Menghuraikan dan mengekstrak maklumat daripada e-mel.. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!