Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-E-Mail-Parsing: Informationen aus E-Mails analysieren und extrahieren.

PHP-E-Mail-Parsing: Informationen aus E-Mails analysieren und extrahieren.

WBOY
WBOYOriginal
2023-09-19 13:49:501160Durchsuche

PHP-E-Mail-Parsing: Informationen aus E-Mails analysieren und extrahieren.

PHP-E-Mail-Parsing: Informationen aus E-Mails analysieren und extrahieren

Als gängige Kommunikationsmethode enthalten E-Mails oft viele nützliche Informationen. Beim Programmieren müssen wir manchmal E-Mails analysieren und ihren Inhalt für die anschließende Verarbeitung extrahieren. In diesem Artikel besprechen wir, wie man PHP zum Parsen und Extrahieren von Informationen aus E-Mails verwendet, und geben spezifische Codebeispiele.

1. E-Mails analysieren

In PHP können Sie die integrierte IMAP-Erweiterung zum Parsen von E-Mails verwenden. Die IMAP-Erweiterung bietet eine Reihe von Funktionen, die uns helfen können, eine Verbindung zum Postfachserver herzustellen, die E-Mails zu lesen und ihren Inhalt zu analysieren. Hier ist ein Beispielcode zum Parsen von E-Mails:

<?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);
?>

Der obige Code stellt zunächst eine Verbindung zum E-Mail-Server her, ruft dann die Anzahl der E-Mails ab und durchläuft jede E-Mail in einer Schleife. Die Header-Informationen der E-Mail, einschließlich Betreff und Absender, können durch Aufrufen der Funktion imap_headerinfo abgerufen werden. Der Inhalt der E-Mail kann durch Aufrufen der Funktion imap_body abgerufen werden. Bei der tatsächlichen Verwendung können wir bei Bedarf weitere E-Mail-Informationen extrahieren, z. B. Personen, Zeit usw., die Kopien hinterlassen haben.

2. Extrahieren Sie die Informationen in der E-Mail.

Die Informationen in der E-Mail können Text, HTML-Inhalte, Anhänge usw. enthalten. In PHP können wir verschiedene String-Verarbeitungsfunktionen und reguläre Ausdrücke verwenden, um Informationen aus E-Mails zu extrahieren. Im Folgenden sind einige allgemeine Anforderungen und entsprechende Extraktionsmethoden aufgeführt:

  1. Links in E-Mails extrahieren

Links in E-Mails beginnen normalerweise mit <a href="url">text</a> erscheint . Wir können reguläre Ausdrücke verwenden, um die Links zu extrahieren. Der Beispielcode lautet wie folgt: <a href="url">text</a> 的形式出现。我们可以使用正则表达式来提取其中的链接。示例代码如下:

preg_match_all('/<as+href=['"]([^"']+)["'][^>]*>(.*?)</a>/i', $body, $matches);

// 打印提取到的链接
foreach ($matches[1] as $url) {
    echo "链接:{$url}
";
}
  1. 提取邮件中的图片

邮件中的图片通常以 <img src="url" alt="text">

preg_match_all('/<img s+src=['"]([^"']+)["'][^ alt="PHP-E-Mail-Parsing: Informationen aus E-Mails analysieren und extrahieren." >]*>/i', $body, $matches);

// 打印提取到的图片URL
foreach ($matches[1] as $url) {
    echo "图片URL:{$url}
";
}

    Bilder in E-Mails extrahieren
    1. Bilder in E-Mails beginnen normalerweise mit <img src="url" alt="text"> erscheint. Wir können reguläre Ausdrücke verwenden, um die Bild-URL zu extrahieren. Der Beispielcode lautet wie folgt:
    // 获取附件信息
    $structure = imap_fetchstructure($mailbox, $i);
    
    // 遍历附件
    foreach ($structure->parts as $part) {
        if (isset($part->disposition) && $part->disposition == 'attachment') {
            echo "附件:{$part->dparameters[0]->value}
    ";
        }
    }

    Anhänge in E-Mails extrahieren

    Anhänge in E-Mails können nach MIME-Typ extrahiert werden. Der Beispielcode lautet wie folgt:

    rrreee

    Im obigen Code erhalten wir die Strukturinformationen der E-Mail, indem wir die Funktion imap_fetchstructure aufrufen und dann die Teile in der Struktur durchlaufen. Wenn die Disposition eines bestimmten Teils Anhang ist, bedeutet dies, dass es sich bei dem Teil um einen Anhang handelt. Anschließend können Sie dessen Dateinamen und andere Anhangsinformationen abrufen.

    🎜Zusammenfassung🎜🎜In diesem Artikel wird erläutert, wie Sie mit PHP Informationen aus E-Mails analysieren und extrahieren. Mithilfe der IMAP-Erweiterung können wir eine Verbindung zum Postfachserver herstellen, die E-Mails lesen und ihren Inhalt analysieren. Durch String-Verarbeitungsfunktionen und reguläre Ausdrücke können wir Informationen wie Links, Bilder und Anhänge in E-Mails extrahieren. In praktischen Anwendungen können wir bedarfsgerecht eine Weiterverarbeitung und Analyse durchführen. 🎜

Das obige ist der detaillierte Inhalt vonPHP-E-Mail-Parsing: Informationen aus E-Mails analysieren und extrahieren.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn