ASP Fonksiyon: E-Posta Ayıklama (E-Mail Extractor) » Anthony Burak Dursun

ASP Fonksiyon: E-Posta Ayıklama (E-Mail Extractor)

Bu yazı Tasarım ve Kodlama kategorisine 22.03.2011 Tarihinde Eklendi, 4974 Kez Okundu.

Diyelim ki elinizde bir word dosyası var. Bunun içerisinde bir sürü text var ve aralarda e-posta adresleri de var. İşte o adresleri olurda bir gün ayıklamanız gerekirse diye hazırladığım ufak bir fonksiyonu sizlerle paylaşmak istedim.

Genelde E-Mail Extractor adı altında bir çok ücretli/ücretsiz os-based program mevcut. Tabii bir çoğu da işinize yaramıyor yada yeterli olmuyor. Benimde başım bu sebepten ağrımaya başlayınca kendi derdimin çözümünü kendim üretmekde buldum.

Çok basic bir fonksiyon, çok basic bir post-form ile hazır uygulama haline getirebilirsiniz. İşte işlemi yapan kod öbeği;

 

<%
str_girdi = Request.Form("dump")

If Not str_girdi = "" Then

Dim ObjRegExp
Dim TumIfade
Dim Sonuc
Dim Ifade

TumIfade = str_girdi
Set objRegExp = New regexp
objRegExp.Pattern = "(S+@S+..SSS?)"
objRegExp.IgnoreCase = True
objRegExp.Global = True
Set Sonuc = objRegExp.Execute(TumIfade)
For Each Ifade In Sonuc
Response.Write Ifade.Value & vbcrlf
Next

Set Sonuc = Nothing
Set objRegExp = Nothing

End If
%> 

Ben bunu bir <textarea></textarea> elemanı içinde kullanıyorum ve başka bir textarea içine yapıştırdığım datayı form-post ederek işleme tabii tutuyorum. Gerisinin kullanımı size kalmış.

Not: %100 kusursuz çalışıyor diyemem. Bir takıp çöp veriler girdiği zaman sapıtabiliyor (SQL Dump çıktısı, anlamsız karakter kümesi vb). Bunu engellemek imkansız gibi, çünkü gönderdiğiniz kaynak içinde @ (at) ve . (dot) işaretleri varsa, klasik bir e-posta özelliği taşıyan veriye dönüşüyor. Yine bunu aşmak için kontrol alanına (response.write Ifade.Value) bir gereksiz karakter temizleme fonksiyonu koyabilirsiniz. böylece bulunan sonuç içinde #$½%!£€ gibi işaretler yer alırsa bunu es geçirtebilirsiniz.

Kolay gelsin arkadaşlar.

 

Çılgın Dükkan | İlginç Hediyelik Ürünler

Etiketler:asp, fonksiyon, e-mail, e-posta, email extractor, e-posta ayıklama, e-posta ayırma, email ayıklama, e-mail ayiklama, e-posta bulma, email bulma,