{"id":36,"date":"2009-01-13T14:31:25","date_gmt":"2009-01-13T14:31:25","guid":{"rendered":"http:\/\/byteblog.internetallee.de\/?p=36"},"modified":"2009-01-13T14:31:25","modified_gmt":"2009-01-13T14:31:25","slug":"adressen-aus-mails-extrahieren","status":"publish","type":"post","link":"https:\/\/blogs.internetallee.de\/byteblog\/2009\/01\/13\/adressen-aus-mails-extrahieren\/","title":{"rendered":"Adressen aus Mails extrahieren"},"content":{"rendered":"<p>Es scheint ein Volkssport zu sein, sich  die Adressb\u00fccher in Thunderbird zu l\u00f6schen. Das Vergn\u00fcgen ist aber meist  nur kurz, denn die Adressen sind nach dem L\u00f6schen und weg und werden  dennoch gebraucht. Da ist guter Rat teuer.<\/p>\n<p>Oder man hat ein Perl-Skript wie etwa das folgende:<\/p>\n<pre class=\"brush: perl;\">#!\/usr\/bin\/env perl\nuse strict;\nuse warnings;\nuse Mail::Header;\n\nmy $head = Mail::Header-&gt;new([&lt;&gt;], Modify =&gt; 0);\nmy $bcc = join(\"\", split(\/n\/, $head-&gt;get('BCC')));\nmy %addresses = ();\nwhile ($bcc =~ m\/(\"[^\"]*\" &lt;[^&gt;]+&gt;|&lt;[^&gt;]+&gt;|[^,]+),s*\/g) {\n    my $address = $1;\n    if ($address =~ m\/(.*) &lt;([^&gt;]*)&gt;\/) {\n        $addresses{$2}=$1;\n    } else {\n        $addresses{$1}=\"\";\n    }\n}\n\nmy @sorted_addresses = map { [$_-&gt;[1], $addresses{$_-&gt;[1]}] }\n    sort { $a-&gt;[0] cmp $b-&gt;[0] }\n    map { [lc($_), $_] } keys %addresses;\nfor my $address (@sorted_addresses) {\n  print \"$address-&gt;[0], $address-&gt;[1]n\";\n};<\/pre>\n<p>Noch einfacher ist aber eventuell ein Python-Skript. Auch wenn es ein <em>deprecated<\/em> Modul benutzt:<\/p>\n<pre class=\"brush: python;\">#!\/usr\/bin\/env python\nimport rfc822\nf=open('mail_mit_adressen.txt')\nm=rfc822.Message(f)\nfor address in rfc822.AddressList(m['bcc']):\n   print \"\"%s\",%s\" % address<\/pre>\n<p>Beide Ans\u00e4tze gehen davon aus, dass man noch eine Mail mit allen Addressaten des gel\u00f6schten Adressbuches auffindet.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Es scheint ein Volkssport zu sein, sich die Adressb\u00fccher in Thunderbird zu l\u00f6schen. Das Vergn\u00fcgen ist aber meist nur kurz, denn die Adressen sind nach dem L\u00f6schen und weg und werden dennoch gebraucht. Da ist guter Rat teuer. Oder man hat ein Perl-Skript wie etwa das folgende: #!\/usr\/bin\/env perl use strict; use warnings; use Mail::Header; [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[11,34,21],"class_list":["post-36","post","type-post","status-publish","format-standard","hentry","category-allgemein","tag-datenrettung","tag-perl","tag-python"],"_links":{"self":[{"href":"https:\/\/blogs.internetallee.de\/byteblog\/wp-json\/wp\/v2\/posts\/36","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.internetallee.de\/byteblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.internetallee.de\/byteblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.internetallee.de\/byteblog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.internetallee.de\/byteblog\/wp-json\/wp\/v2\/comments?post=36"}],"version-history":[{"count":0,"href":"https:\/\/blogs.internetallee.de\/byteblog\/wp-json\/wp\/v2\/posts\/36\/revisions"}],"wp:attachment":[{"href":"https:\/\/blogs.internetallee.de\/byteblog\/wp-json\/wp\/v2\/media?parent=36"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.internetallee.de\/byteblog\/wp-json\/wp\/v2\/categories?post=36"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.internetallee.de\/byteblog\/wp-json\/wp\/v2\/tags?post=36"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}