嗨我的MacBookPro上有一个文件夹,里面有一堆来自我的outlook 2011的eml文件。我试图从他们那里获取电子邮件地址,但我发现的所有链接都需要我购买C#等软件或代码。
这真的很难吗?我试图做的就是从一堆旧电子邮件中获取电子邮件列表。
我知道一些python,R和SQL。如果有人可以给我一些简单的方法来提示从电子邮件地址到文本文件或将eml文件转换为csv,而无需在C#中购买软件或编码,我真的很感激。< / p>
答案 0 :(得分:2)
使用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
答案 1 :(得分:0)
我需要在现成的脚本中使用相同的功能,所以我自己编写了。
该工具将递归分析您的文件夹并在文本区域中显示电子邮件地址。
电子邮件地址提取器可在 Github 上找到: https://github.com/migliori/email-address-extractor