/**
 * JLsMail, an Litestep module. Use to check mail on an "remote"
 * mail account, an then notify if the account have recivied any
 * new mails.
 *  
 * JLsMail is written in Java.
 *
 * Require JRE 1.2 ( javasoft ),Litstep and 
 * javamm.dll module (Headius) 
 * 
 * Thanks for the module, Headius.
 *
 * @author Nils Christopher Hofgaard Dahl (FxSlin)  
 * @mail nils@dahl.hjem.as
 * @http JLsMail home
 * @version 0.04, 11062000
 */ 

JLsMail is under development ( Beta )

*********** Changes **********************************************
JLsMail v0.04 ( release date 11062000 )
    - added   imap support
   
    - fixed   scrolling of headers is now stabil
   
    - added   JLSMailBoxName 
    
    - changed JLSMailAniOffsetWidth to 
              JLSMailAniOffsetLeft &&
              JLSMailAniOffsetRight
              
    - changed the color definitions to HEX
              JLSMailFontColor 
              JLSMailNewMailColor
              JLSMailBackColor 
             
            
JLsMail v0.03 ( release date 15052000 )
    - added JLSMailNewMailSound 
            JLSMailNewMailFontType
            JLSMailNewMailFontSize 
            JLSMailNewMailFontColorRed
            JLSMailNewMailFontColorGreen 
            JLSMailNewMailFontColorBlue 
            JLSMailNewMailShowHeaders
            JLSMailStartHidden

    - removed some variables and optimized some code

JLsMail v0.02 ( release date 07052000 )
    - initial release

JLsMail v0.01
    - only prototyping

*********** Some Words *******************************************

I have tested the module with Litestep build 04-17-2000 with 
Windows NT and Windows 2000. ( the pc`s was 500 Mhz,128 megs 
of ram and 166 Mhz,96 megs of ram ) JLsMail should work
fine with all newer builds.
However performing a normal !Recycle, will not 
unload module properly. I recommend to use LiteSpawn by katmai. 

If you use the first version of Headius javamm.dll.
Then you will get two message box, when recycling/starting Litestep. 
The first message box only show you your JavaClassPath and the 
second one says something that javamm.dll doesnīt work. 
Just press Ok on them both, the modules works fine.

JLsMail doesn`t work well with older Litestep builds,
I believe the cause is that javamm.dll require
new Lsapi.dll.

Both Pop3 ( usually port 110 ) and Imap ( usaully port 143 ).

To stop and JLsMail notification just click on it, then it jumps
back to default mode.

To launch your default mail app, defined in step.rc. Double click 
on JLsMail.

If you are using dialup connection JLsMail shows "Not online", 
however once you are online it checks your mail account.

I`ll be pleased to get some feedback on this module. JLsMail works
fine for me, I have even ported ( just fixed some init stuff )
it to my Linux box. If anyone wan`t standalone version, let me now 
and I release it.

Please email me, if there are problems.

Oh by the way, I`d really be happy if you themes JLsMail and takes
screenshots and sends it to me

FxSlin

*********** Install **********************************************

step 0: - get the needed files 
          * javamm.zip ( get lastest version )
          * JRE 1.2
          * JLsMail.jar ( in JLsMail.zip )

step 1: - read Headius "The Java Module Manager" doc, important.
          ( you have setup some stuff, it`s easy. And documented
            in Headius docs )
        - install javamm.dll 
          ( put javamm.dll in your X:\litestep, not x:\litestep\modules )

step 2: - add these line in step.rc, and please be aware of the case.
          ( java is casesensitive )
		
          LoadModule javamm.dll
          JavaClassPath "$PathTo$javamm.jar;$PathTo$JLsMail.jar"
          LoadJavaModule no/fxslin/JLsMail 

        - theme your JLsMail, look at the examples below
        
step 3: - Restart Litestep

*********** Step.rc commands *************************************

; need to say more about these command? 
JLSMailheight X
JLSMailwidth X 
JLSMailXpos X
JLSMailYpos X       
JLSMailFontType FontType
JLSMailFontSize X 
; these are for new mail text
JLSMailNewMailFontType FontType
JLSMailNewMailFontSize X

; JLSMail search from your image path defined i step.rc
; Must be an gif or jpg, not bmp!
JLSMailBgImg PictureName.gif 

; font color RGB values (eg. FFFFFF)
JLSMailFontColor

; new mail font color RGB values (eg. 000000)
JLSMailNewMailColor 

; background color in RGB values (eg. 000000)
; don`t need these if you use "JLSMailBgImg"
JLSMailBackColor 

; if not added in step.rc donīt JLsMail wonīt show text
; when there is no new mail.
JLSMailNoMailString "no new mail"

; Your new mail text
JLSMailNewMailText "You have new mail"

; if added in step.rc, JLsMail doesnīt show mail numbers 
; ( numbers of mail in your inbox, and numbers of new mail )
JLSMailNoShowMailNum

; X and Y pos on the Module for the text
JLSMailTextXpos X
JLSMailTextYpos X

; if this is set, JLsMail will scroll the text.
JLSMailUseAniText

; Animation speed, I recommend no lower than 50, but try it out :-)
JLSMailNewMailTextSpeed 60

; how far from the edge of picture should JLsMail start/end scrooling text
JLSMailAniOffsetLeft x
JLSMailAniOffsetRight x

;application to start, when double clicked
JLSMailApplication appName

;Mail settings
JLSMailUserName username
JLSMailUserPwd password
JLSMailHost mailserver ( eg. www.mailserver.com )

; JLsMail now work with Pop3 and Imap servers.
; Default is Pop3
JLSMailHostProtocol protocol

; Port number, default is 110
JLSMailHostPort X

; Inbox name, normally you shouldn`t have supply
; this in step.rc. But some mail servers, have some
; speciall naming rules. ( default "INBOX" )
JLSMailBoxName boxName

; how often should JLsMail query your mail box?
; I recommend no intervall lower than 30 secs.
JLSMailCheckIntervall X

; if defined , JLsMail plays the sound when new mail
; arrives. Must be the full path to the soundfile.
; eg "c:\winnt\media\notify.wav"
; Can play *.wav, *.au and *.mid.
JLSMailNewMailSound fullPath

; shows who the mail`s are from and it`s subjects,
; works if JLSMailUseAniText is defined.
; !!experimental!!  JLsMail downloads your mail to
; memory, and pulls out the from and subjects field.
; Even that JLsMail opens your remote mailbox with
; READ_ONLY flag, something may happen.  So don`t 
; hold the author responsible loses off any kind,
; that may happen. ( Nothing has happen yet :-) )
; Ok, that was the warning. I use this command 
; and the command works fine for me.
; Since JLsMail 0.04 this one should work fine.
JLSMailNewMailShowHeaders

; JLsMail starts hidden, and only shows when new
; mail arrives. Click on it, and it hides again. 
; !!!very experimental!!!
JLSMailStartHidden

*********** JLsMail Ex1 *****************************************


Bad animation. LoadModule javamm.dll JavaClassPath "C:\Litestep\modules\javamm.jar;C:\Litestep\modules\JLsMail\JLsMailxxx.jar" LoadJavaModule no/fxslin/JLsMail JLSMailheight 19 JLSMailwidth 200 JLSMailxpos 400 JLSMailypos 0 JLSMailFontType "Lucida Sans Unicode" JLSMailFontSize 9 JLSMailFontColor D6D6D6 JLSMailBgImg "jlsmail_back.gif" JLSMailNoMailString "No new mail" JLSMailNewMailText "You have new mail" JLSMailTextXpos 50 JLSMailTextYpos 13 JLSMailApplication "msimn.exe" JLSMailUserName username JLSMailUserPwd password JLSMailHost mailserver JLSMailCheckIntervall 30 JLSMailUseAniText JLSMailNewMailShowHeaders JLSMailNewMailTextSpeed 60 JLSMailAniOffsetWidth 8 JLSMailNewMailSound "c:\winnt\media\notify.wav" *********** JLsMail Ex2 *****************************************
(Backimage from Chaos theme)
LoadModule javamm.dll JavaClassPath "C:\Litestep\modules\javamm.jar;C:\Litestep\modules\JLsMail\JLsMailxxx.jar" LoadJavaModule no/fxslin/JLsMail JLSMailheight 19 JLSMailwidth 107 JLSMailxpos 400 JLSMailypos 0 JLSMailFontType "Lucida Sans Unicode" JLSMailFontSize 9 JLSMailFontColor D6D6D6 JLSMailBgImg "lsx_back.gif" JLSMailNoShowMailNum JLSMailNoMailString "No new mail" JLSMailNewMailText "You have mail" JLSMailTextXpos 25 JLSMailTextYpos 13 JLSMailApplication "netscap.exe -mail" JLSMailUserName username JLSMailUserPwd password JLSMailHost mailserver JLSMailCheckIntervall 30 *********** Bugs ************************************************ Please, let me know *********** Todo list ******************************************** - add more specific error mesages. ( eg. wrong password, could not connect mailserver) - more customizable stuff. - add support for negativ xPos and yPos. - Hide and show functions. ( not finish ) ( like JLSMailStartHidden, JLSMailShowWhenNewMail.. ) - bangs, comes as soon javamm.dll supports it. - Fix imap support. ( done ) - Sound support, eg. a sound to play when new mails arrive ( done ) - add Transparency support. ( very hard in java :-( ) - optimize code, and remove unused javax.mail.* classes. ( the jar file is big, but not everything is loaded into memory ) - other things? Let me know. ********* Legal stuff ********************************************* By using this program you agree to not hold the author responsible for any damages or loses of any kind. Be aware that your username and password is not sendt crypted over the net when using JLsMail. ( It usually doesn`t ) ********* Thatīs all, FxSlin **************************************