mantis77
07.02.05, 18:30
Witam
Mam poważny problem, który nie wiem jak rozwiązać. Problem polega na
segregacji emaili. Mam listę mailingową którą muszę uaktualniać. Niestety o
ile osoby chcące się wypisać mogą to zrobić bez problemu o tyle gorzej jest
z "odsianiem" adresów do których poczta nie dociera i przychodzą zwroty.
Wiadomo że niektóre serwisy upadają, konta są blokowane itp. Pocztę
posegregowałem programem "The BAT". Niestety nie mogę "wyłuskać" adresów z
zwrotów.
Adresy te pojawiają się w mailu zwrotnym w treści a więc dodanie adresata nie
rozwiąże problemu bo email przychodzi z automatu np. postamaster@domena.pl a
nie z danego adresu. Ale postawnowiłem zapisać wszystkie maile razem do pliku
tekstowego i to się udało. Ale tu zaczyna się problem.
Muszę mieć listę gdzie w każdej linii jest jeden adres (mam już program do
porównywania plików TXT) tak jak na liście mailingowej. Niestety nie wiem
jak "wyciągnąć" te adresy z pliku TXT. Program powinien wyszukać adres według
jakiegoś wyrażenia (np. wszystkie wyrażenia z znakiem "@") i zapisać je do
pliku TXT.
Wpadł mi do głowy pomysł z wyrażeniami regularnymi i nawet takowe odnalazłem.
Wyrażenie oznaczające adres email jest takie
([a-zA-Z0-9_\-\.]+)@(([[0-9]{1 ,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)| (([a-zA-Z0-9\-]
+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3 })
Niestety polecony przez kogoś program "egrep" nie działa mimo że skompilowany
jest pod windowsa. Poprostu wyrażenie jest zbyt długie i wyskakuje błąd (dla
innych wyrażeń działało)
Czy ktoś wobec tego zna inny sposób wyciągnięcia takiego czegoś lub
rozwiązania problemu? Mam WIN98 jakby co. Program dla mnie może nawet działać
w DOSie byle działał. A może ktoś zna jakieś makro do worda czy excela które
robi takie coś?
Proszę o poradę i dzięki za odpowiedź. Jakby co kontakt przez forum lub adres
gazetowy.
Pozdrawiam
Mantis