/* * Created by SharpDevelop. * User: Johannes * Date: 10.06.2005 * Time: 12:55 */ using System; using System.Drawing; using System.Windows.Forms; using System.Net; using System.Net.Sockets; using System.Text; using System.Text.RegularExpressions; using System.Threading; namespace CheckMail { /// /// Description of MainForm. /// public class MainForm : System.Windows.Forms.Form { private System.ComponentModel.IContainer components; private System.Windows.Forms.ListBox lbMsgDetails; private System.Windows.Forms.Button button2; private System.Windows.Forms.Label label1; private System.Windows.Forms.Button btnLogin; private System.Windows.Forms.ListBox lbFolders; private System.Windows.Forms.Button btnGetFolderList; private System.Windows.Forms.TextBox textBox1; private System.Windows.Forms.Button btnOK; private System.Windows.Forms.NotifyIcon notifyIcon1; private System.Windows.Forms.Button btnLogout; private TcpClient cl = null; private NetworkStream str = null; private int neueEmails = 0; public MainForm() { InitializeComponent(); } [STAThread] public static void Main(string[] args) { Application.Run(new MainForm()); } private void DoStuff() { } #region Windows Forms Designer generated code /// /// This method is required for Windows Forms designer support. /// Do not change the method contents inside the source code editor. The Forms designer might /// not be able to load this method if it was changed manually. /// private void InitializeComponent() { this.components = new System.ComponentModel.Container(); System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(MainForm)); this.btnLogout = new System.Windows.Forms.Button(); this.notifyIcon1 = new System.Windows.Forms.NotifyIcon(this.components); this.btnOK = new System.Windows.Forms.Button(); this.textBox1 = new System.Windows.Forms.TextBox(); this.btnGetFolderList = new System.Windows.Forms.Button(); this.lbFolders = new System.Windows.Forms.ListBox(); this.btnLogin = new System.Windows.Forms.Button(); this.label1 = new System.Windows.Forms.Label(); this.button2 = new System.Windows.Forms.Button(); this.lbMsgDetails = new System.Windows.Forms.ListBox(); this.SuspendLayout(); // // btnLogout // this.btnLogout.Location = new System.Drawing.Point(176, 8); this.btnLogout.Name = "btnLogout"; this.btnLogout.TabIndex = 4; this.btnLogout.Text = "Logout"; this.btnLogout.Click += new System.EventHandler(this.BtnLogoutClick); // // notifyIcon1 // this.notifyIcon1.Icon = ((System.Drawing.Icon)(resources.GetObject("notifyIcon1.Icon"))); this.notifyIcon1.Text = "notifyIcon1"; this.notifyIcon1.Visible = true; // // btnOK // this.btnOK.Location = new System.Drawing.Point(568, 536); this.btnOK.Name = "btnOK"; this.btnOK.TabIndex = 7; this.btnOK.Text = "OK"; this.btnOK.Click += new System.EventHandler(this.BtnOKClick); // // textBox1 // this.textBox1.Location = new System.Drawing.Point(24, 40); this.textBox1.Multiline = true; this.textBox1.Name = "textBox1"; this.textBox1.Size = new System.Drawing.Size(304, 376); this.textBox1.TabIndex = 1; this.textBox1.Text = ""; // // btnGetFolderList // this.btnGetFolderList.Location = new System.Drawing.Point(528, 8); this.btnGetFolderList.Name = "btnGetFolderList"; this.btnGetFolderList.Size = new System.Drawing.Size(104, 23); this.btnGetFolderList.TabIndex = 5; this.btnGetFolderList.Text = "Get Folder List"; this.btnGetFolderList.Click += new System.EventHandler(this.BtnGetFolderListClick); // // lbFolders // this.lbFolders.Location = new System.Drawing.Point(368, 48); this.lbFolders.Name = "lbFolders"; this.lbFolders.Size = new System.Drawing.Size(296, 368); this.lbFolders.TabIndex = 2; // // btnLogin // this.btnLogin.Location = new System.Drawing.Point(24, 8); this.btnLogin.Name = "btnLogin"; this.btnLogin.TabIndex = 0; this.btnLogin.Text = "Login"; this.btnLogin.Click += new System.EventHandler(this.BtnLoginClick); // // label1 // this.label1.Location = new System.Drawing.Point(24, 536); this.label1.Name = "label1"; this.label1.Size = new System.Drawing.Size(208, 24); this.label1.TabIndex = 8; this.label1.Text = "Neue Emails:"; // // button2 // this.button2.Location = new System.Drawing.Point(400, 8); this.button2.Name = "button2"; this.button2.TabIndex = 3; this.button2.Text = "Angelika"; this.button2.Click += new System.EventHandler(this.Button2Click); // // lbMsgDetails // this.lbMsgDetails.Location = new System.Drawing.Point(24, 432); this.lbMsgDetails.Name = "lbMsgDetails"; this.lbMsgDetails.Size = new System.Drawing.Size(640, 95); this.lbMsgDetails.TabIndex = 6; // // MainForm // this.AcceptButton = this.btnOK; this.AutoScaleBaseSize = new System.Drawing.Size(5, 13); this.ClientSize = new System.Drawing.Size(712, 567); this.ControlBox = false; this.Controls.Add(this.label1); this.Controls.Add(this.btnOK); this.Controls.Add(this.lbMsgDetails); this.Controls.Add(this.btnGetFolderList); this.Controls.Add(this.btnLogout); this.Controls.Add(this.button2); this.Controls.Add(this.lbFolders); this.Controls.Add(this.textBox1); this.Controls.Add(this.btnLogin); this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; this.Name = "MainForm"; this.Text = "MainForm"; this.Closed += new System.EventHandler(this.MainFormClosed); this.ResumeLayout(false); } #endregion void BtnLoginClick(object sender, System.EventArgs e) { textBox1.Text += Connect(); textBox1.Text += SendCommand("? LOGIN J.Schauer porenta\r\n"); } string SendCommand(string command) { byte[] send = Encoding.ASCII.GetBytes(command); str.Write(send, 0, send.Length); byte[] receive = new byte[4096]; int k = str.Read(receive, 0, receive.Length); string msg = ""; for(int i = 0; i 34) { response = response.Remove(0,9); response = response.Remove(response.Length-25, 25); string[] collection = response.Split(' '); int[] IDs = new int[collection.Length]; if(collection.Length>0) { for(int i=0; i\\S+)", RegexOptions.IgnoreCase); Match m1 = re1.Match(sender); sender = m1.Groups["sender"].Value; string subject = SendCommand("? FETCH "+IDs[i]+" (FLAGS BODY[HEADER.FIELDS (SUBJECT)])\r\n"); Regex re2 = new Regex("Subject: (?\\S+)", RegexOptions.IgnoreCase); Match m2 = re2.Match(subject); subject = m2.Groups["subject"].Value; SendCommand("? STORE "+IDs[i]+" -FLAGS (\\SEEN)\r\n"); lbMsgDetails.Items.Add(sender+" "+subject); } } void BtnLogoutClick(object sender, System.EventArgs e) { textBox1.Text += SendCommand("? LOGOUT\r\n"); str.Close(); cl.Close(); } void BtnGetFolderListClick(object sender, System.EventArgs e) { Thread t = new Thread(new ThreadStart(GetFolderList)); t.Start(); } void BtnOKClick(object sender, System.EventArgs e) { this.Close(); } } }