class Program { static void Main(string[] args) { try { SmtpClient mySmtp = new SmtpClient("stmp host",smtp port); //定義smtp的連接(smtp 網址,smtp port(預設25)) mySmtp.Credentials = new System.Net.NetworkCredential("account", "password"); //設定寄件者的認證(帳號,密碼) MailMessage msgMail = new MailMessage(); //定義電子郵件 msgMail.From = new MailAddress("account@smtp host"); //寄件者 msgMail.To.Add("account@smtp host"); //收件者 msgMail.Subject = "mail subject"; //主旨 msgMail.SubjectEncoding = System.Text.Encoding.UTF8; //主旨的編碼 msgMail.IsBodyHtml = true; //設定郵件內容採用HTML格式 msgMail.Body = "mail content"; //設定郵件內容 msgMail.BodyEncoding = Encoding.UTF8; //內容編碼 mySmtp.Send(msgMail); //發送mail Console.WriteLine("send success"); } catch (Exception e) { Console.WriteLine(e.ToString()); } Console.ReadKey(); } }
2012年8月20日 星期一
C# Send Mail (SmtpClient)
2012年8月14日 星期二
C# Socket Sample(Client-server)
Server 端:
namespace lf.socket.clientserver { class Server { static void Main(string[] args) { IPEndPoint ipont = new IPEndPoint(IPAddress.Any, 20); //將IP位址和Port宣告為服務的連接點(所有網路介面卡 IP,20 Port) Socket newsock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); //宣告一個Socket通訊介面(使用IPv4協定,通訊類型,通訊協定) newsock.Bind(ipont); //建立本機連線 newsock.Listen(10); //偵測連接(最大連接數) while (true) { Socket client = newsock.Accept(); //宣告一個Socket等於新建立的連線 IPEndPoint clientip = (IPEndPoint)client.RemoteEndPoint; //宣告一個連接點為socket端的連接點 System.Console.WriteLine("Client End Point = " + clientip); //印出遠端IP位址 SocketListener listener = new SocketListener(client); //宣告一個監聽類別SocketListener監聽client訊息 Thread thread = new Thread(new ThreadStart(listener.run)); //宣告一個執行序去跑SocketListener監聽事件 thread.Start(); } } } public class SocketListener { private Socket socket; public SocketListener(Socket socket) { this.socket = socket; //建構元取得遠端socket連線 } public void run() { while (true) { byte[] data = new byte[1024]; //定義一個資料緩衝區接收長度最大為(1024) int len = socket.Receive(data); //接收資料至緩衝區中並回傳成功街收位元數 if (len == 0) break; //若成功接收位元數為0則跳出迴圈 System.Console.WriteLine(Encoding.UTF8.GetString(data,0,len)); //印出編碼後的資料(資料,起始位置,長度) } socket.Close(); } } }
Client 端:
namespace lf.socket.clientserver { class Client { static void Main(string[] args) { IPEndPoint ipont = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 20); //將IP位址和Port宣告為服務的連接點(Server Ip,20 Port) Socket server = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); //宣告一個Socket通訊介面(使用IPv4協定,通訊類型,通訊協定) server.Connect(ipont); //建立至遠端主機的連接 while (true) { string input = Console.ReadLine(); //接收輸入字串 if (input == "exit")break; //若輸入exit則跳出迴圈 byte[] data = Encoding.UTF8.GetBytes(input); //將字串以UTF8編碼存入緩衝區 server.Send(data); } server.Shutdown(SocketShutdown.Both); //關閉遠端的傳送與接收 server.Close(); //關閉連接 System.Console.Write("Disconnecting from server..."); System.Console.ReadKey(); } } }
訂閱:
文章 (Atom)