从Email文件中提取Email地址



你好,我的MacBookPro上有一个文件夹,里面有一堆outlook 2011中的电子邮件文件。我正试图从他们的电子邮件地址中获取信息,但我发现的所有链接都要求我购买c#之类的软件或代码。

真的这么难吗?我要做的就是从一堆旧邮件中获取一个邮件列表。

我知道一些python, R和SQL。如果有人能给我一些简单的方法来把电子邮件地址转换成文本文件,或者把电子邮件文件转换成csv文件,而不需要购买软件或用c#编码,我将非常感激。

使用php可以这样做:

extract.php

<?php
$emails = array();
foreach(rglob("*.eml") as $eml){
    $emlContent = file_get_contents($eml);
    preg_match_all('/([A-Z0-9._%+-]+@[A-Z0-9.-]+.[A-Z]{2,6})/i', $emlContent, $matches, PREG_PATTERN_ORDER);
    for ($i = 0; $i < count($matches[1]); $i++) {
        $emails[] .= $matches[1][$i];
    }
}

$emails = array_unique($emails);
print_r($emails);

function rglob($pattern='*', $flags = 0, $path='')
{
    $paths=glob($path.'*', GLOB_MARK|GLOB_ONLYDIR|GLOB_NOSORT);
    $files=glob($path.$pattern, $flags);
    foreach ($paths as $path) { $files=array_merge($files,rglob($pattern, $flags, $path)); }
    return $files;
}

用法:

extract.php放在包含eml文件的文件夹中,从终端php extract.php运行

我需要在一个现成的脚本中使用相同的功能,所以我自己编写了一个。

概括地说:

  • 在浏览器中从PHP服务器url打开extractor.php
  • 选择。eml文件所在的硬盘文件夹
  • 如果要从电子邮件的内容中提取发件人、收件人和/或收件人的地址,请选择
  • 点击查找电子邮件地址按钮

该工具将递归地分析您的文件夹,并在文本区显示电子邮件地址。

Email Address Extractor可以在Github上找到:https://github.com/migliori/email-address-extractor

相关内容

  • 没有找到相关文章

最新更新