/// <summary> /// Default constructor. /// </summary> /// <param name="session">Reference to Pop33 session.</param> /// <param name="userName">Username.</param> /// <param name="passwData">Password data.</param> /// <param name="data">Authentication specific data(as tag).</param> /// <param name="authType">Authentication type.</param> public AuthUser_EventArgs(SMTP_Session session,string userName,string passwData,string data,AuthType authType) { m_pSession = session; m_UserName = userName; m_PasswData = passwData; m_Data = data; m_AuthType = authType; }
/// <summary> /// Default constructor. /// </summary> /// <param name="session">Reference to smtp session.</param> /// <param name="mailFrom">Sender email address.</param> public ValidateSender_EventArgs(SMTP_Session session,string mailFrom) { m_pSession = session; m_MailFrom = mailFrom; }
/// <summary> /// Default constructor. /// </summary> /// <param name="session">Reference to smtp session.</param> /// <param name="mailTo">Recipient email address.</param> /// <param name="authenticated">Specifies if connected user is authenticated.</param> public ValidateRecipient_EventArgs(SMTP_Session session,string mailTo,bool authenticated) { m_pSession = session; m_MailTo = mailTo; m_Authenticated = authenticated; }
/// <summary> /// Default constructor. /// </summary> /// <param name="session">Reference to smtp session.</param> /// <param name="msgStream">Message stream.</param> public NewMail_EventArgs(SMTP_Session session,MemoryStream msgStream) { m_pSession = session; m_MsgStream = msgStream; }
/// <summary> /// Default constructor. /// </summary> /// <param name="session">Reference to smtp session.</param> /// <param name="eAddress">Email address of recipient.</param> /// <param name="messageSize">Message size.</param> public ValidateMailboxSize_EventArgs(SMTP_Session session,string eAddress,long messageSize) { m_pSession = session; m_eAddress = eAddress; m_MsgSize = messageSize; }
/// <summary> /// Raises event ValidateMailboxSize. /// </summary> /// <param name="session"></param> /// <param name="eAddress"></param> /// <param name="messageSize"></param> /// <returns></returns> internal bool Validate_MailBoxSize(SMTP_Session session,string eAddress,long messageSize) { ValidateMailboxSize_EventArgs oArgs = new ValidateMailboxSize_EventArgs(session,eAddress,messageSize); if(this.ValidateMailboxSize != null){ this.ValidateMailboxSize(this,oArgs); } return oArgs.IsValid; }
/// <summary> /// Raises event StoreMessage. /// </summary> /// <param name="session"></param> /// <param name="msgStream"></param> internal NewMail_EventArgs OnStoreMessage(SMTP_Session session,MemoryStream msgStream) { NewMail_EventArgs oArg = new NewMail_EventArgs(session,msgStream); if(this.StoreMessage != null){ this.StoreMessage(this,oArg); } return oArg; }
/// <summary> /// Raises event ValidateMailTo. /// </summary> /// <param name="session"></param> /// <param name="forward_path"></param> /// <param name="email"></param> /// <param name="authenticated"></param> /// <returns></returns> internal ValidateRecipient_EventArgs OnValidate_MailTo(SMTP_Session session,string forward_path,string email,bool authenticated) { ValidateRecipient_EventArgs oArg = new ValidateRecipient_EventArgs(session,email,authenticated); if(this.ValidateMailTo != null){ this.ValidateMailTo(this, oArg); } return oArg; }
/// <summary> /// Raises event ValidateMailFrom. /// </summary> /// <param name="session"></param> /// <param name="reverse_path"></param> /// <param name="email"></param> /// <returns></returns> internal ValidateSender_EventArgs OnValidate_MailFrom(SMTP_Session session,string reverse_path,string email) { ValidateSender_EventArgs oArg = new ValidateSender_EventArgs(session,email); if(this.ValidateMailFrom != null){ this.ValidateMailFrom(this, oArg); } return oArg; }
/// <summary> /// Raises event AuthUser. /// </summary> /// <param name="session">Reference to current smtp session.</param> /// <param name="userName">User name.</param> /// <param name="passwordData">Password compare data,it depends of authentication type.</param> /// <param name="data">For md5 eg. md5 calculation hash.It depends of authentication type.</param> /// <param name="authType">Authentication type.</param> /// <returns></returns> internal AuthUser_EventArgs OnAuthUser(SMTP_Session session,string userName,string passwordData,string data,AuthType authType) { AuthUser_EventArgs oArgs = new AuthUser_EventArgs(session,userName,passwordData,data,authType); if(this.AuthUser != null){ this.AuthUser(this,oArgs); } return oArgs; }
/// <summary> /// Raises event ValidateIP event. /// </summary> /// <param name="session">Reference to current smtp session.</param> internal ValidateIP_EventArgs OnValidate_IpAddress(SMTP_Session session) { ValidateIP_EventArgs oArg = new ValidateIP_EventArgs(session.LocalEndPoint,session.RemoteEndPoint); if(this.ValidateIPAddress != null){ this.ValidateIPAddress(this, oArg); } session.Tag = oArg.SessionTag; return oArg; }
/// <summary> /// /// </summary> /// <param name="socket"></param> protected override void InitNewSession(Socket socket) { SocketLogger logger = new SocketLogger(socket,this.SessionLog); SMTP_Session session = new SMTP_Session(socket,this,logger); }