DnsQueryEx Class


Provides properties and methods for querying MX records of domain from DNS server.

System.Object
    EASendMail.DnsQueryEx

[Visual Basic]
Public Class DnsQueryEx
[C#]
public class DnsQueryEx
[C++]
public __gc class DnsQueryEx
[JScript]
public class DnsQueryEx

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Public Methods

S QueryServers Querys MX records of specified domain from DNS server.

Remarks

DnsQueryEx class is not intended to be used by developer directly, to send email directly without smtp server, please refer to Send E-mail Directly (Simulating SMTP server) section. Anyway, the following example code demonstrates how to use the DnsQueryEx class explicitly.

Example

[C#] To get the full samples of EASendMail, please refer to Samples section.

[C#]
using System;
using EASendMail;

public void QueryServersAndSendMail()
{
    try
    {
        SmtpServer[] servers = DnsQueryEx.QueryServers("to@adminsystem.com");

        // query MX record (SMTP server addresses) for to@adminsystem.com
        // try to send email with every SMTP server until the email was sent.
        for (int i = 0; i < servers.Length; i++)
        {
            try
            {
                SmtpServer oServer = servers[i];
                SmtpMail oMail = new SmtpMail("TryIt");
                oMail.From = new MailAddress("from@adminsystem.com");
                oMail.To.Add(new MailAddress("to@adminsystem.com"));

                oMail.Subject = "test subject";
                oMail.TextBody = "test body";

                SmtpClient oSmtp = new SmtpClient();
                oSmtp.SendMail(oServer, oMail);

                // Succeeded, break.
                Console.WriteLine("The email has been sent to {0} successfully!", servers[i]);
                break;
            }
            catch (Exception exp)
            {
                Console.WriteLine("Error with server {0} - {1}", servers[i],  exp.Message);
            }
        }
    }
    catch (Exception ep)
    {
        Console.WriteLine(ep.Message);
    }
}

Online Examples

Send Email using MX DNS lookup - VB
Send Email using MX DNS lookup - C#
Send Email using MX DNS lookup - C++/CLI