HELO localhost -- caused problems. I needed a real domain. I'm using google.com. The domain of the mail server caused issues as well.
I used Stefan's code post above and nothing happened. I had to put some Sleep's in the code because Netduino was sending commands faster than the mail server could respond. Here's what I ended up with. I hope it helps someone.
static IPAddress mailip = IPAddress.Parse("192.168.1.15"); Socket smtp = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); string MailBody = ""; MailBody += "Subject: Test Email\r\n"; MailBody += "From: \"Netduino\" <netduino@domain.com>\r\n"; MailBody += "To: \"My Email\" <email@domain.com\r\n"; MailBody += "\r\n"; // devider between message headers and message body MailBody += "This is just a test!\r\n"; MailBody += ".\r\n"; Thread.Sleep(500); led.Write(true); Debug.Print("Connecting..."); smtp.Connect(new IPEndPoint(mailip, 25)); smtp.Send(Encoding.UTF8.GetBytes("HELO google.com\r\n")); Thread.Sleep(100); smtp.Send(Encoding.UTF8.GetBytes("MAIL FROM: netduino@domain.com\r\n")); Thread.Sleep(100); smtp.Send(Encoding.UTF8.GetBytes("RCPT TO: email@domain.com\r\n")); Thread.Sleep(100); smtp.Send(Encoding.UTF8.GetBytes("DATA\r\n")); Thread.Sleep(100); smtp.Send(Encoding.UTF8.GetBytes(MailBody)); Thread.Sleep(100); smtp.Send(Encoding.UTF8.GetBytes("QUIT\r\n")); smtp.Close(); Debug.Print("Sent!"); led.Write(false);