74 lines
3.2 KiB
C#
74 lines
3.2 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Diagnostics;
|
|
using System.Linq;
|
|
using System.ServiceProcess;
|
|
using System.Text;
|
|
|
|
using LumiSoft.IMAP.Server;
|
|
using MailServer.DataBase;
|
|
using MailServer.Logger;
|
|
|
|
namespace MailServer.Services
|
|
{
|
|
public partial class IMAP_Service : ServiceBase
|
|
{
|
|
private IMAP_Server server;
|
|
private MysqlImap database;
|
|
private EventLogger logger;
|
|
private bool ssl;
|
|
|
|
public IMAP_Service(EventLogger log, bool usessl)
|
|
{
|
|
this.logger = log;
|
|
this.ssl = usessl;
|
|
InitializeComponent();
|
|
database = new MysqlImap();
|
|
putEvents();
|
|
}
|
|
|
|
private void putEvents()
|
|
{
|
|
this.server.AuthUser += new AuthUserEventHandler(server_AuthUser);
|
|
this.server.CopyMessage += new MessageEventHandler(server_CopyMessage);
|
|
this.server.CreateFolder += new FolderEventHandler(server_CreateFolder);
|
|
this.server.DeleteFolder += new FolderEventHandler(server_DeleteFolder);
|
|
this.server.DeleteFolderACL += new DeleteFolderACLEventHandler(server_DeleteFolderACL);
|
|
this.server.DeleteMessage += new MessageEventHandler(server_DeleteMessage);
|
|
this.server.GetFolderACL += new GetFolderACLEventHandler(server_GetFolderACL);
|
|
this.server.GetFolders += new FoldersEventHandler(server_GetFolders);
|
|
this.server.GetMessageItems += new MessagesItemsEventHandler(server_GetMessageItems);
|
|
this.server.GetMessagesInfo += new MessagesEventHandler(server_GetMessagesInfo);
|
|
this.server.GetSharedRootFolders += new SharedRootFoldersEventHandler(server_GetSharedRootFolders);
|
|
this.server.GetSubscribedFolders += new FoldersEventHandler(server_GetSubscribedFolders);
|
|
this.server.GetUserACL += new GetUserACLEventHandler(server_GetUserACL);
|
|
this.server.GetUserQuota += new GetUserQuotaHandler(server_GetUserQuota);
|
|
this.server.RenameFolder += new FolderEventHandler(server_RenameFolder);
|
|
this.server.SessionLog += new LumiSoft.Misc.LogEventHandler(server_SessionLog);
|
|
this.server.SetFolderACL += new SetFolderACLEventHandler(server_SetFolderACL);
|
|
this.server.StoreMessage += new MessageEventHandler(server_StoreMessage);
|
|
this.server.StoreMessageFlags += new MessageEventHandler(server_StoreMessageFlags);
|
|
this.server.SubscribeFolder += new FolderEventHandler(server_SubscribeFolder);
|
|
this.server.SysError += new LumiSoft.Misc.ErrorEventHandler(server_SysError);
|
|
this.server.UnSubscribeFolder += new FolderEventHandler(server_UnSubscribeFolder);
|
|
this.server.ValidateIPAddress += new LumiSoft.Misc.ValidateIPHandler(server_ValidateIPAddress);
|
|
}
|
|
|
|
protected override void OnStart(string[] args)
|
|
{
|
|
this.server.StartServer();
|
|
}
|
|
|
|
protected override void OnStop()
|
|
{
|
|
this.server.StopServer();
|
|
}
|
|
public void Start(string[] args)
|
|
{
|
|
OnStart(args);
|
|
}
|
|
}
|
|
}
|