Ein MX-Record (http://de.wikipedia.org/wiki/MX_Resource_Record) enthält die Adressen der E-Mail-Server einer Domain. Diese Adressen braucht ein MTA (http://de.wikipedia.org/wiki/Mail_Transfer_Agent), um E-Mails zum Empfänger wiederzuleiten. Der MX Record ist auf dem Nameserver einer Domain hinterlegt. Dieser wird im Snippet per nslookup abgefragt.
public static String[] GetMxRecordsByDomain(String domain)
{
ProcessStartInfo start = new ProcessStartInfo("nslookup");
start.RedirectStandardOutput = true;
start.UseShellExecute = false;
start.Arguments = "-type=MX " + domain;
Process nslookup = Process.Start(start);
List<String> output = new List<String>();
List<String> mx = new List<String>();
while (!nslookup.StandardOutput.EndOfStream)
{
output.Add(nslookup.StandardOutput.ReadLine());
if (output.Last().Contains("mail exchanger = "))
{
mx.Add(output.Last().Remove(0, output.Last().IndexOf("mail exchanger = ") + "mail exchanger = ".Length));
}
}
return mx.ToArray();
}
Kommentare zum Snippet