Zoque.Forum
Dirsek Teması:
Geri Dön Zoque.Forum » Webmaster Kaynaklari » ://www » Eposta Mx Kaydını ASP ile kontrol etmek


Yanıt
 
LinkBack Seçenekler
Old 19.09.2008   #1 (permalink)
 
Üyelik Tarihi: 28.06.2005
Yer: İstanbul
Yaş: 29
Mesaj: 33
Eposta Mx Kaydını ASP ile kontrol etmek


Merhabalar,

Forma girilen eposta adresinin gerçek olup olmadığını Mx kayıtlarından kontrol edebiliyoruz. PHP ile bunu yapan örnekler var. Ancak ASP ile bulamıyorum. Bilen birisi yardımcı olursa sevinirim. Ayrıca mx kayıtlarını sorgulama ile ilgili de bilgi verebilirsiniz. Bulduğum örneklerde Hotmail ve yahoo mx kayıtları sorgulanamıyor. Diğer domainlerse sorgulanabiliyor. Bu işi componentsiz yapmam lazım.

Şimdiden herkese teşekkürler.
Blackts şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 19.09.2008   #2 (permalink)
 
energizer's Avatar
 
Üyelik Tarihi: 23.04.2006
Yer: İstanbul
Mesaj: 27
Re: Eposta Mx Kaydını ASP ile kontrol etmek

ASP ile component kullanmadan MX sorgusu yapamazsın. Microsoft platformundaysan ASP.NET ile dene.
__________________
Spina - Kurumsal Web ve Intranet Çözümleri
www.spina.com.tr
energizer şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 24.09.2008   #3 (permalink)
 
Üyelik Tarihi: 28.06.2005
Yer: İstanbul
Yaş: 29
Mesaj: 33
Re: Eposta Mx Kaydını ASP ile kontrol etmek

Tekrar merhaba,
ASP.net ile bu işi yapan sadece componentler var. Kod olarak bulamadım. Bulabileceğim bir yer var mı?
Componentler paralı olduğu için kullanamıyoruz..
Blackts şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 24.09.2008   #4 (permalink)
 
energizer's Avatar
 
Üyelik Tarihi: 23.04.2006
Yer: İstanbul
Mesaj: 27
Re: Eposta Mx Kaydını ASP ile kontrol etmek

.Net framework ile herhangi bir bileşene gerek kalmadan MX sorgusu yapabilirsin.

http://www.csharphelp.com/archives/archive43.html

Kod:
/**

	@author Jaimon Mathew

	csc /target:library /out:DnsLib.dll /D:DEBUG=1 /debug+ DnsLite.cs

*/

using System;
using System.Net;
using System.IO;
using System.Text;
using System.Net.Sockets;
using System.Collections;

namespace DnsLib {

	public class MXRecord {

		public int preference = -1;
		public string exchange = null;

		public override string ToString() {

			return "Preference : " + preference + " Exchange : " + exchange;
		}

	}

	public class DnsLite {

		private byte[] data;
		private int position, id, length;
		private string name;
		private ArrayList dnsServers;

		private static int DNS_PORT = 53;

		Encoding ASCII = Encoding.ASCII;

		public DnsLite() {

			id = DateTime.Now.Millisecond * 60;
			dnsServers = new ArrayList();

		}

		public void setDnsServers(ArrayList dnsServers) {

			this.dnsServers = dnsServers;

		}
		public ArrayList getMXRecords(string host) {

			ArrayList mxRecords = null;

			for(int i=0; i < dnsServers.Count; i++) {

				try {

					mxRecords = getMXRecords(host,(string)dnsServers[i]);
					break;

				}catch(IOException) {
					continue;
				}

			}

			return mxRecords;
		}

  		private int getNewId() {

			//return a new id
    		return ++id;
  		}

		public ArrayList getMXRecords(string host,string serverAddress) {

			//opening the UDP socket at DNS server
			//use UDPClient, if you are still with Beta1
			UdpClient dnsClient = new UdpClient(serverAddress, DNS_PORT);

			//preparing the DNS query packet.
			makeQuery(getNewId(),host);

			//send the data packet
			dnsClient.Send(data,data.Length);

			IPEndPoint endpoint = null;
			//receive the data packet from DNS server
			data = dnsClient.Receive(ref endpoint);

    		length = data.Length;

    		//un pack the byte array & makes an array of MXRecord objects.
    		return makeResponse();

		}

		//for packing the information to the format accepted by server
		public void makeQuery(int id,String name) {

			data = new byte[512];

			for(int i = 0; i < 512; ++i) {
				data[i] = 0;
    		}

			data[0]	 = (byte) (id >> 8);
			data[1]  = (byte) (id & 0xFF );
			data[2]  = (byte) 1; data[3] = (byte) 0;
			data[4]  = (byte) 0; data[5] = (byte) 1;
			data[6]  = (byte) 0; data[7] = (byte) 0;
	    	data[8]  = (byte) 0; data[9] = (byte) 0;
    		data[10] = (byte) 0; data[11] = (byte) 0;

    		string[] tokens = name.Split(new char[] {'.'});
	  		string label;

  			position = 12;

  			for(int j=0; j<tokens.Length; j++) {

				label = tokens[j];
				data[position++] = (byte) (label.Length & 0xFF);
				byte[] b = ASCII.GetBytes(label);

				for(int k=0; k < b.Length; k++) {
					data[position++] = b[k];
				}

 			}

			data[position++] = (byte) 0 ; data[position++] = (byte) 0;
			data[position++] = (byte) 15; data[position++] = (byte) 0 ;
			data[position++] = (byte) 1 ;

		}

		//for un packing the byte array
		public ArrayList makeResponse() {

			ArrayList mxRecords = new ArrayList();
			MXRecord mxRecord;

			//NOTE: we are ignoring the unnecessary fields.
			//		and takes only the data required to build
			//		MX records.

    		int qCount = ((data[4] & 0xFF) << 8) | (data[5] & 0xFF);
		    if (qCount < 0) {
      			throw new IOException("invalid question count");
    		}

    		int aCount = ((data[6] & 0xFF) << 8) | (data[7] & 0xFF);
	    	if (aCount < 0) {
    			throw new IOException("invalid answer count");
    		}

	    	position=12;

    		for( int i=0;i<qCount; ++i) {
				name = "";
	    		position = proc(position);
	    		position += 4;
			}

    		for (int i = 0; i < aCount; ++i) {

				name = "";
				position = proc(position);

      			position+=10;

				int pref = (data[position++] << 8) | (data[position++] & 0xFF);

				name="";
				position = proc(position);

				mxRecord = new MXRecord();

				mxRecord.preference = pref;
				mxRecord.exchange = name;

				mxRecords.Add(mxRecord);

			}

			return mxRecords;
		}

		private int proc(int position) {

			int len = (data[position++] & 0xFF);

    		if(len == 0) {
      			return position;
    		}

    		int offset;

    		do {
      			if ((len & 0xC0) == 0xC0) {
        			if (position >= length) {
          				return -1;
        			}
	        		offset = ((len & 0x3F) << 8) | (data[position++] & 0xFF);
		        	proc(offset);
	        		return position;
      			} else {
        			if ((position + len) > length) {
          				return -1;
        			}
        			name += ASCII.GetString(data, position, len);
        			position += len;
      			}

      			if (position > length) {
        			return -1;
      			}

				len = data[position++] & 0xFF;

      			if (len != 0) {
	        		name += ".";
      			}
    		}while (len != 0);

	    	return position;
		}
	}
}

Kod:
/**

	@author Jaimon Mathew

	csc.exe /t:exe /r:System.DLL /r:DnsLib.dll /D:DEBUG=1 /debug+ /out:"Test.exe" "Test.cs"
*/

using System;
using System.Collections;
using DnsLib;

public class Test {

	//usage test <internet address>
	//example : test Hotmail.com

	public static void Main(string[] s) {

		try {

			ArrayList dnsServers = new ArrayList();

			//name/ip of the dnsservers
			dnsServers.Add("158.152.1.58");

			DnsLite dl = new DnsLite();
			dl.setDnsServers(dnsServers);

			ArrayList results;

			results = dl.getMXRecords(s[0]);

			for(int i=0;i<results.Count;i++) {

				MXRecord mx = (MXRecord)results[i];
				Console.WriteLine(i + " : " + mx);
			}

			results = null;
		}catch(Exception e) {

			Console.WriteLine("Caught exception : " + e);
		}

	}
}
__________________
Spina - Kurumsal Web ve Intranet Çözümleri
www.spina.com.tr
energizer şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 25.09.2008   #5 (permalink)
 
Üyelik Tarihi: 28.06.2005
Yer: İstanbul
Yaş: 29
Mesaj: 33
Re: Eposta Mx Kaydını ASP ile kontrol etmek

Yardım için teşekkür ederim.
Bu kod Console uygulması olarak hazırlanmış. Net.Socket kullanıyor. Bu kodu web için uygulayabiliyor muyuz?
Kısaca mail adresini girdiğimde evet/hayır mesajı döndürmesi yeterli aslında.

Tekrar teşekkürler.
Blackts şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 25.09.2008   #6 (permalink)
 
energizer's Avatar
 
Üyelik Tarihi: 23.04.2006
Yer: İstanbul
Mesaj: 27
Re: Eposta Mx Kaydını ASP ile kontrol etmek

Uygulayabilirsiniz tabii ki. Sonuçta .NET framework elinizin altında.
__________________
Spina - Kurumsal Web ve Intranet Çözümleri
www.spina.com.tr
energizer şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Sponsorlu Bağlantılar
Zoque.Forum
Reklam
Yanıt

Etiketler

asp , eposta , mx kontrolu


 
Zoque'a hoşgeldiniz!
Zoque 27.02.1999 tarihinde yayın hayatına başlamış, paylaşıma dayalı bir oluşumdur. Tasarım, teknoloji, web, kültür ve sanat ana başlıkları altında bilgi paylaşımı ve benzer değerlere sahip katılımcıların birbirleriyle iletişime girmelerine imkan sağlar. "Az ama Öz" sloganından yola çıkarak, kaliteli ve nitelikli katılımı temel alır.

Saygın ve ciddi bir ortamda yardımlaşmak, haberleşmek, kendi bildiklerini diğer katılımcılarla paylaşmak isteyen, oluşumumuza düzenli katılımda bulunacağı inancını taşıyan konuklarımızı üye olmaya davet ediyoruz. [ » ]


Üye Girişi:

En popüler ilk 100 etiket
Tag Cloud
acil adsl ajax almak arama araniyor ariyorum ariyoruz asp bilen bilgi bilgisayar blog calisma css div domain dosya eleman film firefox flash font form forum fotograf freelance google gore grafik grafiker hakkinda hangi hata hatasi hosting html ilgili ilk image internet istanbul istiyorum java javascript karakter kayit kisisel kullanimi link logo mac mail menu microsoft muzik mysql nasil neden nedir online oyun photoshop php problemi program programi reklam resim satilik sayfa script server ses sistemi site sitesi son soru sorun sorunsali sorunu sql swf tasarim tasarimci tasarimcisi tasarimi turk turkce veri video web windows wordpress xml yardim yazi yeni zoque
Zoque RSS Aboneliği
Son eklenen konuları e-posta ile haber verelim mi?

Forum Yazılımı: vBulletin® Version 3.7.4 Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

Arayüz/Skin "Güneş" © www.zoque.com / net. Copyright © 1999 - 2008
Forum Saati GMT +2. Şu anda saat: 06:19.