VS2010创建一个控制台应用程序~~

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net.Sockets;

namespace ConsoleApplication7
{
class Program
{
static void Main(string[] args)
{
SendEmailAjax();
}

public static void SendEmailAjax()
{

//var data = Request["data"];
//Email email = ConverJsonToObj<List<Email>>(data).FirstOrDefault();
//email.PAddress = "chexijuan@e6gps.com";
//email.PDisplayName = "chexijuan";
//email.PUserName = "chexijuan@e6gps.com";
//email.PPassword = "chexijuan";
//email.PPort =25;
//email.PHost = "192.168.0.235" ;
//string err = "";
//bool result = false;
//E6GPS.E6OA.Common.EmailHelper mail = new E6GPS.E6OA.Common.EmailHelper();
//int ret = mail.SendMail(email.PAddress, email.PDisplayName, email.PHost,
// email.PPort, email.PUserName, email.PPassword, email.PMailto, email.PSubject, email.PBody, out err);

//if (ret == 0)
//{
// result = true;
// err = "";
//}
//else
//{
// result = false;
// err = "发送失败";
//}
//var jsondata = new { issuccess = result, err = err };
//return ConverObjToJsonResult(jsondata);
string smtp = "192.168.0.235";
//string from = "chexijuan@e6gps.com";
//string pwd = "chexijuan";
//string to = "chexijuan@e6gps.com";
string from = "zhangjiayao@e6gps.com";
string pwd = "zhangjiayao";
string to = "zhangjiayao@e6gps.com";
//建立链接
TcpClient tc = new TcpClient(smtp, 25);
byte[] b = new byte[1024];
tc.GetStream().Read(b, 0, b.Length);
//Response.Write(Encoding.UTF8.GetString(b)+"<br/>");
//标识身份
WriteMsg(tc.GetStream(), "HELO xxxx\r\n");
//Response.Write(ReadMsg(tc.GetStream()) + "<br/>");
//身份验证开始
WriteMsg(tc.GetStream(), "AUTH LOGIN\r\n");
//Response.Write(ReadMsg(tc.GetStream()) + "<br/>");
//帐号 base64编码
byte[] bTxt = new byte[1024];
bTxt = Encoding.UTF8.GetBytes(from);
WriteMsg(tc.GetStream(), Convert.ToBase64String(bTxt) + "\r\n");
//Response.Write(ReadMsg(tc.GetStream()) + "<br/>");
//密码base64编码
bTxt = Encoding.UTF8.GetBytes(pwd);
WriteMsg(tc.GetStream(), Convert.ToBase64String(bTxt) + "\r\n");
//Response.Write(ReadMsg(tc.GetStream()) + "<br/>");
//身份验证结束
//发送邮件地址
WriteMsg(tc.GetStream(), string.Format("MAIL FROM:{0}\r\n", from));
//Response.Write(ReadMsg(tc.GetStream()) + "<br/>");
//接受邮件地址,可以有多个RCPT TO
WriteMsg(tc.GetStream(), string.Format("RCPT TO:{0}\r\n", to));
//Response.Write(ReadMsg(tc.GetStream()) + "<br/>");
//初如化
WriteMsg(tc.GetStream(), "DATA \r\n");
//Response.Write(ReadMsg(tc.GetStream()) + "<br/>");
////邮件内容
StringBuilder sb = new StringBuilder();
sb.AppendFormat("From:{0}\r\n", from);
//发信人
sb.AppendFormat("To:{0}\r\n", to);
//收信人,可以有多个,用分号隔开, 这两行可以与上面的MAIL FROM和RCPT TO不同(显示在邮件内容里的)
sb.AppendFormat("Date:{0}\r\n", DateTime.Now.ToString());
//时间
sb.AppendFormat("Subject:{0}\r\n", "测试mail");
//主题
sb.Append("\r\n");
sb.Append("测试内容不要慌!!");
//正文
sb.Append("\r\n.\r\n");
WriteMsg(tc.GetStream(), sb.ToString());
//Response.Write(ReadMsg(tc.GetStream()) + "<br/>");
//结束会话
WriteMsg(tc.GetStream(), "QUIT");
//关闭链接
tc.Close();
//var jsondata = new { issuccess = true, err = "" };
//return ConverObjToJsonResult(jsondata);

//Console.WriteLine("asd");
}
private static void WriteMsg(NetworkStream ns, string msg)
{
byte[] bw = Encoding.UTF8.GetBytes(msg);
ns.Write(bw, 0, bw.Length);
}
private static string ReadMsg(NetworkStream ns)
{
byte[] br = new byte[1024];
ns.Read(br, 0, br.Length);
return Encoding.UTF8.GetString(br);
}
}
}

posted @ 2014-11-14 18:16  啊阿强  阅读(561)  评论(0)    收藏  举报