December 2012

Friday, December 28, 2012

Email Sender (Windows Form Application Sending Email Using using System.Net.Mail)



This application can send email using System.Net.Mail library...



#region  - Sending Method -
void SendReport(string host, 
string port,
string from, 
string password, 
string to, 
string bcc, 
string cc, 
string subject, 
string body)
{
 retry:
 try
 {
    MailMessage mMailMessage = new MailMessage();
    mMailMessage.From = new MailAddress(from);
    mMailMessage.To.Add(new MailAddress(to));
    if ((bcc != null) && (bcc != string.Empty))
    {
        mMailMessage.Bcc.Add(new MailAddress(bcc));
    }
    if ((cc != null) && (cc != string.Empty))
    {
        mMailMessage.CC.Add(new MailAddress(cc));
    }
    mMailMessage.Subject = subject;
    mMailMessage.Body = body;
    mMailMessage.IsBodyHtml = true;
    mMailMessage.Priority = MailPriority.Normal;
    SmtpClient smtp = new SmtpClient();
    if ((host != null) && (host != string.Empty))
    {
        smtp.Host = host;
    }
    else
    {
        smtp.Host = "smtp.gmail.com";
    }
    if(port!=null) && (port != string.Empty))
    {
        smtp.Port = int.Parse(port);
    }
    else
    {
        smtp.Port = int.Parse("587");
    }
    smtp.EnableSsl = true;
    smtp.Credentials = new System.Net.NetworkCredential(from, password);
    smtp.SendCompleted +=new SendCompletedEventHandler(smtp_SendCompleted);
    smtp.SendAsync(mMailMessage, new object());
    sendThread = new Thread(new ThreadStart(WhileSending));
    sendThread.Start();
}
catch (Exception ex)
{
    //??????????????????? Youre code here....
    if (You want to retry)
    {                   
        goto retry;
    }
}
}
#endregion  - Sending Method -
 #region - Method While Sending -
void WhileSending()
{
    int number = 4;
    while (IsSending)
    {
        Thread.Sleep(500);
        lblStatus.Text = "Sending email report ....".Substring(0, 20 + number);
        lblStatus.Image = global::ReportEmailer.Properties.Resources.send;
        number--;
        number = number <= 0 ? 4 : number;
    }
}
#endregion - Method While Sending -

System iMonitoring (Windows Form application using File System Watcher Control)










using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace SystemEyeWatcher
{
public partial class SystemWatcher : Form
{
    enum Type
    {
        CREATED,
        CHANGED,
        RENAMED,
        DELETED
    }
    string name = String.Empty;
    public SystemWatcher()
    {
        InitializeComponent();
    }
    private void Watcher_Changed(object sender, System.IO.FileSystemEventArgs e)
    {
        name = Path.GetFileName(e.FullPath);
        FillListWatch(listViewWatch, e.ChangeType.ToString(), e.FullPath, name, " ",
        DateTime.Now.ToString(), Type.CHANGED);
    }
    private void Watcher_Created(object sender, System.IO.FileSystemEventArgs e)
    {
        name = Path.GetFileName(e.FullPath);
        FillListWatch(listViewWatch, e.ChangeType.ToString(), e.FullPath, name, " ", 
        DateTime.Now.ToString(), Type.CREATED);
    }
    private void Watcher_Deleted(object sender, System.IO.FileSystemEventArgs e)
    {
        name = Path.GetFileName(e.FullPath);
        FillListWatch(listViewWatch, e.ChangeType.ToString(), e.FullPath, name, " ", 
        DateTime.Now.ToString(), Type.DELETED);
    }
    private void Watcher_Renamed(object sender, System.IO.RenamedEventArgs e)
    {
        FillListWatch(listViewWatch, e.ChangeType.ToString(), e.OldFullPath, 
        e.OldName, e.Name, DateTime.Now.ToString(), Type.RENAMED);
    }
    private void watcherNew_Click(object sender, EventArgs e)
    {
        Cursor.Current = Cursors.WaitCursor;
        SystemOptions sysOptions = new SystemOptions();
        sysOptions.ShowDialog();
        Cursor.Current = Cursors.Default;
    }
    private void watchStart_Click(object sender, EventArgs e)
    {
        lblStatus.Text = "Watching...";
        Watcher.Path = <Your Path>
        Watcher.Filter = <???>;
        Watcher.IncludeSubdirectories = true;
        Watcher.EnableRaisingEvents = true;
    }
    private void watchStop_Click(object sender, EventArgs e)
    {
        lblStatus.Text = "Ready...";
        Watcher.EnableRaisingEvents = false;
    }
    private void FillListWatch(ListView listViewWatch,
    string type,
    string objects, 
    string objectname, 
    string newobject, 
    string details, 
    Type objectsType)
    {
        ListViewItem item = new ListViewItem(type);
        item.SubItems.Add(objects);
        item.SubItems.Add(objectname);
        item.SubItems.Add(newobject);
        item.SubItems.Add(details);
        lblWatchType.Text = type;
        lblObjectName.Text = objectname + " : " + newobject;
        lblObjectPath.Text = objects;
        switch (objectsType)
        {
            case Type.CREATED:
                item.ImageIndex = 8;
                item.BackColor = System.Drawing.Color.FromArgb(192, 192, 255);
                break;
            case Type.CHANGED:
                item.ImageIndex = 9;
                item.BackColor = System.Drawing.Color.FromArgb(255, 255, 192);
                break;
            case Type.RENAMED:
                item.ImageIndex = 6;
                item.BackColor = System.Drawing.Color.FromArgb(128, 255, 128);
                break;
            case Type.DELETED:
                item.ImageIndex = 5;
                item.BackColor = System.Drawing.Color.FromArgb(255, 192, 192);
                break;
        }
        listViewWatch.Items.AddRange(new ListViewItem[] { item });
        lblEntries.Text = "Watched Entries : " + listViewWatch.Items.Count;
    }
    private void SystemWatcher_FormClosing(object sender, FormClosingEventArgs e)
    {
        ExitingApplication();
        Application.Exit();
    }
}
}