Żeby móc skorzystać z tego skryptu poniżej zainstaluj PHP + server. Możesz to zrobić np. instalując gotowy pakiet XAMPP.
<pre>
<?php
$handle = fopen('something5.txt','r');
if($handle) {
while(( $line = fgets($handle))!== false){
$eml = (string)htmlspecialchars($line);
preg_match_all ('~<(\b(.*?))>~m',htmlspecialchars_decode($eml) ,$matches);
if(empty($matches[2])){
null;
}else{
print_r($matches[2][0].'<br />');
}
}
if(!feof($handle)){
echo "Error";
}
fclose($handle);
}
?>
</pre>
O ile dobrze kojarzę, to do parsowania formatu .eml są specjalne funkcje, takie jak:
mailparse_determine_best_xfer_encoding, mailparse_msg_create, mailparse_msg_extract_part_file, itd..
Spróbuj może tą funkcją:
<?php
$to = 'Wez Furlong <wez@example.com>, doe@example.com';
var_dump(mailparse_rfc822_parse_addresses($to));
?>
http://php.net/manual/en/function.mailparse-rfc822-parse-addresses.php
Musisz jednak wcześniej zainstalować jedną .DLL'kę.
http://forum.wampserver.com/read.php?2,83463,83463
Instalacja:
https://pecl.php.net/package/mailparse/3.0.2/windows
Wybierasz swoją wersję PHP i naciskasz na Thread Safe (TS) x86 lub Thread Safe (TS) x64, zależnie od tego jaką masz wersję systemu. Po zainstalowaniu przenosisz plik z rozszerzeniem .dll do katalogu ze swoimi dll'kami. U mnie to jest: C:\xampp\php\ext, następnie przechodzisz do pliku php.ini (u mnie się tak nazywa) w katalogu C:\xampp\php i np. pod tą linią ;extension=php_shmop.dll dodajesz tę linię extension=php_mailparse.dll. Po wszystkim resetujesz swój server i wpisujesz w pliku polecenie phpinfo();. Następnie naciskasz ctrl+f i w polu wyszukiwania wpisujesz mailparse, jeśli to znajdzie wyszukiwarka, to znaczy, że wszystko pomyślnie zainstalowałeś.