Example #1
0
        public static string[] GetMXRecords(string domain)
        {
            IntPtr   ptr1 = IntPtr.Zero;
            IntPtr   ptr2 = IntPtr.Zero;
            MXRecord recMx;

            if (Environment.OSVersion.Platform != PlatformID.Win32NT)
            {
                throw new NotSupportedException();
            }
            ArrayList list1 = new ArrayList();
            int       num1  = Mx.DnsQuery(ref domain, QueryTypes.DNS_TYPE_MX, QueryOptions.DNS_QUERY_BYPASS_CACHE, 0, ref ptr1, 0);

            if (num1 != 0)
            {
                throw new ApplicationException(num1.ToString());
            }
            for (ptr2 = ptr1; !ptr2.Equals(IntPtr.Zero); ptr2 = recMx.pNext)
            {
                recMx = (MXRecord)Marshal.PtrToStructure(ptr2, typeof(MXRecord));
                if (recMx.wType == 15)
                {
                    string text1 = Marshal.PtrToStringAuto(recMx.pNameExchange);
                    list1.Add(text1);
                }
            }
            Mx.DnsRecordListFree(ptr2, 0);
            return((string[])list1.ToArray(typeof(string)));
        }
Example #2
0
        static void Main(string[] args)
        {
            string dest = "*****@*****.**";

            string[] elems = dest.Split("@".ToCharArray());
            string[] arr   = Mx.GetMXRecords(elems[1]);

            string s = "";

            foreach (string x in arr)
            {
                s += x + Environment.NewLine;
            }
            Console.WriteLine("MX records:" + Environment.NewLine + s);

            MailMessage msg = new MailMessage();

            msg.To                = dest;
            msg.From              = "*****@*****.**";
            msg.Subject           = "Hello, world";
            msg.Body              = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.";
            SmtpDirect.SmtpServer = arr[0];

            SmtpDirect.Send(msg);
            Console.WriteLine(SmtpDirect.output.ToString());

            Console.ReadKey();
        }