-- -----------------------------------------------------------------------------
-- MIB NAME : Simple Mail Transfer Protocol (SMTP) Common mib
-- FILE NAME: smtp.mib
-- DATE     : 2008/10/22
-- VERSION  : 1.00
-- PURPOSE  : To construct the MIB structure of Simple Mail Transfer Protocol
--            for proprietary enterprise
-- -----------------------------------------------------------------------------
-- MODIFICATION HISTORY:
-- -----------------------------------------------------------------------------
-- Version, Date, Author
-- Description:
--  [New Object]
--  [Modification]
-- Notes: (Requested by who and which project)          
-- -----------------------------------------------------------------------------
-- Version 1.01, 2010/05/14, King Cao
-- Update the mail address size from 64 to 254
-- -----------------------------------------------------------------------------
-- Version 1.00, 2008/10/22, Marco Visaya
-- First formal version of this mib file
-- requested by Marco for DES30XXP project
-- -----------------------------------------------------------------------------


SMTP-MIB DEFINITIONS ::= BEGIN
    IMPORTS
        TEXTUAL-CONVENTION				FROM SNMPv2-TC
        MODULE-IDENTITY, OBJECT-TYPE,	
        Integer32						FROM SNMPv2-SMI
        IpAddress           			FROM RFC1155-SMI
        RowStatus			        	FROM SNMPv2-TC
        DisplayString            	    FROM RFC1213-MIB
        dlink-common-mgmt				FROM DLINK-ID-REC-MIB;

	swSMTPMIB  MODULE-IDENTITY
	    LAST-UPDATED "0810220000Z"
	    ORGANIZATION "D-Link Corp."
	    CONTACT-INFO
	        "http://support.dlink.com"
	    DESCRIPTION
		    "The Structure of SMTP for the proprietary enterprise."
		    ::= { dlink-common-mgmt 29 }
		      
	VlanId		 ::= INTEGER (1..4094)
	PortList   ::= OCTET STRING(SIZE (0..127))	
	MacAddress ::= OCTET STRING (SIZE (6))    -- a 6 octet address
                                            -- in the
                                            -- "canonical"
                                            -- order, copy from RFC1493
-- Textual Convention for PortList
-- Define the PortList, comes from RFC2674

	
   swSMTPCtrl			OBJECT IDENTIFIER ::= { swSMTPMIB 1 }   
   swSMTPInfo			OBJECT IDENTIFIER ::= { swSMTPMIB 2 } 
   swSMTPMgmt			OBJECT IDENTIFIER ::= { swSMTPMIB 3 }  
	

-- ********************************************************************
--      swSMTPCtrl	OBJECT IDENTIFIER ::= { swSMTPMIB  1 }
-- ********************************************************************

	smtpStatus OBJECT-TYPE
		SYNTAX  INTEGER{
					other(1),
					disabled(2),
					enabled(3)         
		}
		MAX-ACCESS  read-write
		STATUS  current
		DESCRIPTION
					"This object describes the status of SMTP."
		::= { swSMTPCtrl 1 }

	smtpSrvAddr OBJECT-TYPE
		SYNTAX  IpAddress
		MAX-ACCESS  read-write
		STATUS  current
		DESCRIPTION
					"This object is the SMTP server's IP address."
		::= { swSMTPCtrl 2 }

	smtpSrvPort OBJECT-TYPE
		SYNTAX  INTEGER (0..65535)
		MAX-ACCESS  read-write
		STATUS  current
		DESCRIPTION
					"This object is the SMTP server's TCP port number.
					The default value is 25.
					You can configure it from 1 to 65535."
		::= { swSMTPCtrl 3 }

	smtpSelfMailAddr OBJECT-TYPE 
		SYNTAX  DisplayString (SIZE (0..254))
		MAX-ACCESS  read-write
		STATUS  current
		DESCRIPTION
					"The smtpSelfMailAddr describes the mail address of the sender."
		::= { swSMTPCtrl 4 }

	smtpTestMsgSubject OBJECT-TYPE
		SYNTAX  DisplayString  (SIZE (0..128))
		MAX-ACCESS  read-write
		STATUS  current
		DESCRIPTION
					"This is the subject of test mail."
		::= { swSMTPCtrl 5 }
	
	smtpTestMsgContent OBJECT-TYPE
		SYNTAX  DisplayString  (SIZE (0..512))
		MAX-ACCESS  read-write
		STATUS  current
		DESCRIPTION
					"This is the content of test mail."
		::= { swSMTPCtrl 6 }

	smtpSendTestMsg	OBJECT-TYPE
		SYNTAX  INTEGER{
			send(1),
			noAction(2)
			} 
		MAX-ACCESS  read-write
		STATUS  current
		DESCRIPTION
		      "When check Send(1), it will send mail. 
		       smtpSendTestStatus will indicate the test status.
		       "
		::= { swSMTPCtrl 7 }	
		
-- ********************************************************************
--    swSMTPInfo			OBJECT IDENTIFIER ::= { swSMTPMIB 2 } 
-- ********************************************************************

	smtpSendTestStatus OBJECT-TYPE
		SYNTAX  INTEGER{
			success(1),
			failed(2),
			in-processing(3)   
			} 
		MAX-ACCESS  read-only
		STATUS  current
		DESCRIPTION
		      "This object describes the latest test result."
		::= { swSMTPInfo 1 }	


-- ********************************************************************
-- 		swSMTPMgmt			OBJECT IDENTIFIER ::= { swSMTPMIB 3 }  
-- ********************************************************************
		
	smtpMailReceiverTable OBJECT-TYPE
		SYNTAX  SEQUENCE OF SmtpReceiverAddrEntry
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
		      "The smtpMailReceiverTable describes the address list of the mail receivers."
		::= { swSMTPMgmt 1 }
	
	smtpReceiverAddrEntry OBJECT-TYPE
		SYNTAX SmtpReceiverAddrEntry
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
		      "This is a list of information contained in the smtpMailReceiverTable."
		INDEX   { smtpMailReceiverAddrIndex }
		::= { smtpMailReceiverTable 1 }
		
	SmtpReceiverAddrEntry ::=
		SEQUENCE {
		  smtpMailReceiverAddrIndex
		      INTEGER,
		  smtpMailReceiverAddr
		      DisplayString,
		  smtpMailReceiverAddrState
		       RowStatus
		}
	
	smtpMailReceiverAddrIndex OBJECT-TYPE
		SYNTAX  INTEGER (1..8)
		MAX-ACCESS  read-only
		STATUS  current
		DESCRIPTION
		      "This is the index of the mail receiver information."
		::= { smtpReceiverAddrEntry 1 }
	
	smtpMailReceiverAddr OBJECT-TYPE
		SYNTAX  DisplayString (SIZE (1..254)) 
		MAX-ACCESS  read-create
		STATUS  current
		DESCRIPTION
		      "The smtpMailReceiverAddr describes the address of the mail receiver."
		::= { smtpReceiverAddrEntry 2 }
		
	smtpMailReceiverAddrState	OBJECT-TYPE
		SYNTAX  RowStatus
		MAX-ACCESS  read-create
		STATUS  current
		DESCRIPTION
		      "The smtpMailReceiverAddrState describes the state of the mail receiver.
		      "
		::= { smtpReceiverAddrEntry 3 }	

END
