[Windows Mobile Software Development] camro:
hi,

well it seems to be, that Fixup made the core stable enough to think about some extra stuff....

thanks - great job...:)

and so i will think about to expand this project.

##################################################################################

1) QUESTIONS: some questions to you:

1.1) who wants/can to help with development on this project ?

i don't want to devel on diff. ways on the same thing ... so - want teamwork for it

1.2) please write down your ideas and comments.

1.3) new name for the product ex: "MailHandler", please come in with some ideas ...

before i start with changing code ... i thnk about and some ideas from my side....

What should the programm can do ?

--------------------------------------------------------------------------------------

2.)FEATURES

2.1) HANDLING FOR POLLING THE STANDARD EMAIL PROGRAMM (starting "send/receive" command from tmail.exe)

the idea behind is to set in poutlook always: "send/receive - manually"

and the request "send/receive" command will pushed via this tool

this can happen in 2 ways:

a) polling via periodic time (free choosing the time in sec)

b) imap idle -> only if a new email is arrived, and always hold the connection to imapidle

(or combination of both)

2.2.) MAIL SCHEDULING POLLING with time ranges

the idea behind is, that a lot of guys don'T want to get 24h the emails (sometimes sleeping)

and so the email checking/polling should not always be happen.

This should work on 1a) and 1b)

--------------------------------------------------------------------------------------

3.)EXPLAINATION/EXAMPLES:

The idea behind is: to set poutlook always to "Send/receive" to "manual"

and now there are 2 kind of cycling send/receiver

a) via IMAPIDLE: imapidleservice and checking the internet-connection all X minutes (value from "CYCLE")

b) via DEMAND: (i will call it "polling" later) imapidle will be disabled and from beginning of "Starttime" til "Endtime"

and all X minutes (value from "CYCLE") will send the "send/receive" command to poutlook

ex: Profile: DEMO1 -> option for:

Scheduler

=========

Days_________________|_Starttime_|_Endtime_|_(I)MAPIDLE_|_recheck time of connection in sec

Mo,Tu,We,Th,Fr,Sa,Su_|_HH:MM_____|_HH:MM___|_(P)OLLING__|_or periode time when sending polling command in sec

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

X__X__X__X__X__-__-__|_00:00_____|_03:00___|_P__________|_3600___(A)

X__X__X__X__X__-__-__|_09:00_____|_12:00___|_I__________|_900____(B)

X__X__X__X__X__-__-__|_12:30_____|_21:00___|_I__________|_900____(C)

X__X__X__X__X__-__-__|_21:00_____|_00:00___|_I__________|_3600___(D)

-__-__-__-__-__X_____|_08:00_____|_20:00___|_P__________|_7200___(E)

-__-__-__-__-__-__X__|_09:00_____|_18:00___|_I__________|_1800___(F)

(A) = monday til Friday from 00:00 to 03:00 -> check via polling and periode all 3600sec

(B) = monday til Friday check via Imap Idle 06:00 - 12:00 and recheck of socket all 900sec.

(C) = almost the same like (A) but other time range ..

you can see the time hole between (A) and (B) of 12:00 til 13:00 there will nothing happen (no imapilde, no polling)

(D) = like the same as (A) but other time range (A+D -> i think in this way it is easier for "over midnight handling"

(E) = on saturday from 08:00 to 20:00 -> check via polling and periode all 3600sec

for time range checking on imap idle will also be a good idea to use one extra paramter (is the actual time a valid time ?)

(so the application don't must check every second if the time range is valid, because this could cost battery)

so, therefore one extra option will be good: -> $TIMECHECKPERIDE = 60 sec

--------------------------------------------------------------------------------------

4) PARAMETER

4.1) Global parameter

- EnableTracing => (ON/OFF)

- DoTracing="True"

- TraceFileLocation="\Application\imappusher\imappusher.txt" (path + file name)

- SpecificConnection="0" (Auto, Internet, Work, etc...)

4.2) Box parameter

- MailboxName="Camel-Mobil" (String (!Be careful! Exact the same name of the poutlook profile)

- Username="camel@xxxx.xx"

- Password="ABCDEFGHIJK" (decryted)

- Server="mail.xxxxx.com"

- Port="993" (1-65000) (automatic ssl check)

- StatusPort="51982" (1-65000)

- SpecificConnection="0" (get it from list internal list = Automatic, Internet, Work, etc...)

- TimePeriodeCheck="300" (0-86400 checking if the time is valid for imapidle checking or polling on time -> point 4.3)

4.3) Box time parameter (a array list of)

- Day="127"(1=Mo,2=Tu,4=We,8=Th,16=Fr,32=Sa,64=Su) so if you want Monday+Sunday then 64+1=65 / Mo-Su=127

- TimeStart="09:00 (HH:MM in 24h format, midnight = 00)

- TimeEnd="00:00 (HH:MM in 24h format, midnight = 00)

- MailMethod="P" (P=Polling / I=IMAP Idle)

- ConnectionCheck="300" (on imap ilde the time for checking the internet-connection / on polling recyle time)

############################################################################################################

Knowing bugs from my side....

BUG1:

=====

SocketException

Ein BLockierungsvorgang wurde durch einen Aufruf von

"WSACachelBlockingCall" unterbrochen

bei

System.Net.Sockets.Socket.AcceptNoCheck()

bei

System.Net.Sockets.TcpListener.AcceptTcpClient()

bei

ImapPusherService.Module1.ListenerManager.WorkerTH read()

BUG2:

=====

hard core test

1.) starting imappusherservice

2.) switching to flight mode (so no possibel internet connection will be enabled)

and then waiting for recycle check of imappusherservice...

then:

ProtocolViolationException

Dieser Vorgang kann nicht ausgeführt werden, nachdem die Anforderung gesendet wurde.

bei

System.Net.HttpWebRequest.startGetResponse()

bei

System.Net.HttpWebRequest.GetResponse()

bei

ImapPusherService.Module1.ThreadManager.WorkerThre ad()

BUG3:

=====

hard core test

1.) switching to flight mode (so no possibel internet connection will be enabled)

2.) starting imappusherservice and just next sec.....

then:

WebException

Die Verbindung mit dem Netzwerk konnte nicht hergestellt werden.

bei

System.Net.HttpWebRequest.finishGetResponse()

bei

System.Net.HttpWebRequest.GetResponse()

bei

ImapPusherService.Module1.ThreadManager.WorkerThre ad()

todo for me at first:

=====================

+ real time log window

+ debug options with "time stamp" in tracer and log

+ drop box -> reading the mailbox accounts from poutlook

+ password -> handling for special characters in password

+ bug fixing/error handling

LAST BUT NOT LEAST

==================

if somebody wants to help (with development) to implement this things - please let me know and send PM

it looks like a big project, but i think that this is not so complicated, and i would make the core stuff,

but maybe some guys are better for making the graph parts for a good setup, because for this my aknowledge

is now not good enough and i would make at first all the stuff without an setup

(which can be done per hand - i think)

cu camel