Helo Francois, Helo Wilfred,

I was try to use Quit instead Abort but "Smtp component not ready"
error is still happens time to time.

- I use OnRequestDone to start new session
- I don't use Application->ProcessMessages
- I only call Smtp->Abort in case of  TimeOut.
- I use SmtpCli->Quit to terminate connection

I notice it almost always happens after bad SmtpCli->Connect attempt:

I receive SmtpRequestDone with error 10044 (Interrupted System Call),
then i PostMessage to initiate new Session, after receiving message by
my messages Handler i call SmtpCli->Connect for next session and
receive "Smtp component not ready".

Please note: it's NOT happens after EACH 10004 error ! It's may be
thousands connect attempts before execption throwed.

Please ! Help me ! HOW I CAN BE 100% SURE that component
is ready for next session ? It's looks like very serious bug inside
WSocket and/or SmtpCli.

You should agree: component MUST provide relaible event for
starting next connects ! Absolutely relabile event ! At this time
it's not available:

- OnSessionClose may trigger more than one time
- OnStateChange is for logging only
- OnRequestDone may show "Component not ready error".

---
With best regards, Max Terentiev.
Business Software Products.
AMS Development Team.
[EMAIL PROTECTED]


----- Original Message ----- 
From: "Francois PIETTE" <[EMAIL PROTECTED]>
To: "ICS support mailing" <twsocket@elists.org>
Sent: Sunday, July 30, 2006 8:47 PM
Subject: Re: [twsocket] Best event to start new Smtp session


>> It's NOT possible to use OnRequestDone in case of Smtp->Abort() because
>> it's NOT triggered for Abort() :-)
>
> If (to be verifyed) it is not triggered for Abort(), you can your
> OnRequestDone handler directly or thru a custom message.
>
>> My program MUST call Abort() because it's email checker. It's interrupt
>> connection after Success of RCPT command.
>
> Why Abort ? Just call Quit() which is the proper way of terminating work.
> If Quit() is not what you need, you may call CtrlSocket.Shutdown(1); to
> close the underlaying socket gracefully.
> Calling Abort is for emergency case, it break the connection without the
> remote party agreeing (it receive EConnReset error).
>
> --
> Contribute to the SSL Effort. Visit http://www.overbyte.be/eng/ssl.html
> --
> [EMAIL PROTECTED]
> http://www.overbyte.be
>
>
>
> ----- Original Message ----- 
> From: "Max Terentiev" <[EMAIL PROTECTED]>
> To: "ICS support mailing" <twsocket@elists.org>
> Sent: Sunday, July 30, 2006 6:26 PM
> Subject: Re: [twsocket] Best event to start new Smtp session
>
>
>> Helo Francois,
>>
>>>> Because it's looks like a serious bug.
>>>
>>> Then you have a serious opportunity to dig into the component code :-)
>>> Seriously, don't use OnSessionClosed to start a new SMTP session 
>>> (subject
>>> of
>>> your message). Use OnrequestDone to do almost everything !
>>
>> It's NOT possible to use OnRequestDone in case of Smtp->Abort() because
>> it's NOT triggered for Abort() :-)
>>
>> Only OnSessionClosed triggered for Abort() but it's buggy because may
>> trigger more than one time !
>>
>> My program MUST call Abort() because it's email checker. It's interrupt
>> connection after Success of RCPT command.
>>
>> I'll try to dig code of cource... But it's may to dificult to find random
>> bug
>> in these large library :-)
>>
>>> --
>>> Contribute to the SSL Effort. Visit http://www.overbyte.be/eng/ssl.html
>>> --
>>> [EMAIL PROTECTED]
>>> http://www.overbyte.be
>>>
>>>
>>>
>>> ----- Original Message ----- 
>>> From: "Max Terentiev" <[EMAIL PROTECTED]>
>>> To: "ICS support mailing" <twsocket@elists.org>
>>> Sent: Sunday, July 30, 2006 5:17 PM
>>> Subject: Re: [twsocket] Best event to start new Smtp session
>>>
>>>
>>>> Hello Francois,
>>>>
>>>> I don't use Application->ProcessMessages in entire application.
>>>>
>>>> If event OnSessionClose may trigger (or may not trigger)
>>>> twice maybe these checks should be implemented inside SmtpCli component
>>>> ?
>>>> Because it's looks like a serious bug.
>>>>
>>>> ---
>>>> With best regards, Max Terentiev.
>>>> Business Software Products.
>>>> AMS Development Team.
>>>> [EMAIL PROTECTED]
>>>>
>>>>
>>>> ----- Original Message ----- 
>>>> From: "Francois PIETTE" <[EMAIL PROTECTED]>
>>>> To: "ICS support mailing" <twsocket@elists.org>
>>>> Sent: Sunday, July 30, 2006 6:24 PM
>>>> Subject: Re: [twsocket] Best event to start new Smtp session
>>>>
>>>>
>>>>>> Please tell me: HOW i can be 100% sure that Connection is closed,
>>>>>> Component
>>>>>> is ready and i can start new Session ? How to avoid wrong
>>>>>> OnSessionClose
>>>>>> ?
>>>>>
>>>>> You either have a look at the component source code and try to
>>>>> understand
>>>>> why there are two OnSessionClosed events, or you use a flag to 
>>>>> remember
>>>>> you
>>>>> already received OnSessionClosed and have to ignore the second one.
>>>>>
>>>>> Note that strange event ordering are frequently resulting from calling
>>>>> the
>>>>> message pump directly or indirectly from one of the events. And
>>>>> indirect
>>>>> message pump call occur in each modal window (frequently used to
>>>>> display
>>>>> values when debugging: don't do that).
>>>>>
>>>>> --
>>>>> Contribute to the SSL Effort. Visit 
>>>>> http://www.overbyte.be/eng/ssl.html
>>>>> --
>>>>> [EMAIL PROTECTED]
>>>>> http://www.overbyte.be
>>>>>
>>>>>
>>>>>
>>>>> ----- Original Message ----- 
>>>>> From: "Max Terentiev" <[EMAIL PROTECTED]>
>>>>> To: "ICS support mailing" <twsocket@elists.org>
>>>>> Sent: Sunday, July 30, 2006 3:27 PM
>>>>> Subject: Re: [twsocket] Best event to start new Smtp session
>>>>>
>>>>>
>>>>>> Hello Wilfred,
>>>>>>
>>>>>> I try to post message inside OnSessionClosed...
>>>>>> But I notice another problem:
>>>>>>
>>>>>> I don't know why but OnSessionClosed called twice in some cases !
>>>>>>
>>>>>> This is a log of my Smtp session where you can see SmtpCli bug:
>>>>>>
>>>>>> Here is first session, it's sucessfully completed:
>>>>>> -----------------
>>>>>> Checking address: [EMAIL PROTECTED]
>>>>>> MX Resolved from cache
>>>>>> Connectng to 192.168.0.2
>>>>>> 220 Welcome to the mail server for mysite.com Sun, 30 Jul 2006
>>>>>> 16:26:14
>>>>>> 0400
>>>>>> 250 mail.mail.ru Hello 192.168.0.1
>>>>>> 250 Current mail transaction reset
>>>>>> 250 , sender ok
>>>>>> 250  <[EMAIL PROTECTED]>
>>>>>> E-Mail Check Result OK
>>>>>> Call Smtp->Abort();
>>>>>>>>>Inside OnSessionClosed, Call PostMessage<<<
>>>>>> Posted Message Received by my WndProc handler, start checking next
>>>>>> address
>>>>>>
>>>>>> -----------------
>>>>>> Checking address: [EMAIL PROTECTED]
>>>>>> Host Resolved from cache
>>>>>> Connectng to 192.168.0.2
>>>>>>>>>Inside OnSessionClosed, Call PostMessage<<<<<
>>>>>> ^^^^BUG - WHY IT'S TRIGGERED HERE ???^^^
>>>>>> 220 Welcome to the mail server for mysite.com Sun, 30 Jul 2006
>>>>>> 16:26:14
>>>>>> 0400
>>>>>> Posted Message Received by my WndProc handler, start checking next
>>>>>> address
>>>>>> ^^^^^^ It's wrong because wrong OnSessionClosed received !
>>>>>> -----------------
>>>>>>
>>>>>> As you can see OnSessionClosed triggered twice ! And from this
>>>>>> point program works incorrectly !
>>>>>>
>>>>>> Note: it's happens rarely. Program may check up to 10 000 emails
>>>>>> before
>>>>>> it's happens. It's happens on random place.
>>>>>>
>>>>>> Please tell me: HOW i can be 100% sure that Connection is closed,
>>>>>> Component
>>>>>> is ready and i can start new Session ? How to avoid wrong
>>>>>> OnSessionClose
>>>>>> ?
>>>>>>
>>>>>> ---
>>>>>> With best regards, Max Terentiev.
>>>>>> Business Software Products.
>>>>>> AMS Development Team.
>>>>>> [EMAIL PROTECTED]
>>>>>>
>>>>>>
>>>>>> ----- Original Message ----- 
>>>>>> From: "Wilfried Mestdagh" <[EMAIL PROTECTED]>
>>>>>> To: "ICS support mailing" <twsocket@elists.org>
>>>>>> Sent: Sunday, July 30, 2006 12:19 PM
>>>>>> Subject: Re: [twsocket] Best event to start new Smtp session
>>>>>>
>>>>>>
>>>>>>> Hello Max,
>>>>>>>
>>>>>>> it has been a while I worked with TSmtpCli. Try to post a message
>>>>>>> from
>>>>>>> OnSessionClosed to custom message handler. The message hander take
>>>>>>> car
>>>>>>> of next connection.
>>>>>>>
>>>>>>> ---
>>>>>>> Rgds, Wilfried [TeamICS]
>>>>>>> http://www.overbyte.be/eng/overbyte/teamics.html
>>>>>>> http://www.mestdagh.biz
>>>>>>>
>>>>>>> Saturday, July 29, 2006, 15:06, Max Terentiev wrote:
>>>>>>>
>>>>>>>> Hello Wilfred,
>>>>>>>
>>>>>>>> But how I can detect that SmtpCli->Abort() is finished, component 
>>>>>>>> is
>>>>>>>> ready and I can call SmtpCli->Connect again for next message ?
>>>>>>>
>>>>>>> If I call SmtpCli->>Connect() IMMEDIATELY after SmtpCli->Abort()
>>>>>>>> I should receive "Component Not Ready" error, right ?
>>>>>>>
>>>>>>> If SmtpCli->>Abort() is called only OnSessionClose event is 
>>>>>>> triggered
>>>>>>>> (OnRequestDone NOT triggered in this case).
>>>>>>>
>>>>>>>> So, to start new sessuion I must use OnSessionClose in case of Smtp
>>>>>>>> protocol
>>>>>>>> error/Abort and OnRequestDone in case of successfull sending (no
>>>>>>>> Abort)
>>>>>>>> ?
>>>>>>>
>>>>>>>> ---
>>>>>>>> With best regards, Max Terentiev.
>>>>>>>> Business Software Products.
>>>>>>>> AMS Development Team.
>>>>>>>> [EMAIL PROTECTED]
>>>>>>>
>>>>>>>
>>>>>>>> ----- Original Message ----- 
>>>>>>>> From: "Wilfried Mestdagh" <[EMAIL PROTECTED]>
>>>>>>>> To: "ICS support mailing" <twsocket@elists.org>
>>>>>>>> Sent: Saturday, July 29, 2006 2:04 PM
>>>>>>>> Subject: Re: [twsocket] Best event to start new Smtp session
>>>>>>>
>>>>>>>
>>>>>>>>> Hello Max,
>>>>>>>>>
>>>>>>>>> Use OnRequestDone to trigger next sending, not OnStateChange or
>>>>>>>>> OnSessionClosed. Both latter are more for log or display updates.
>>>>>>>>>
>>>>>>>>> ---
>>>>>>>>> Rgds, Wilfried [TeamICS]
>>>>>>>>> http://www.overbyte.be/eng/overbyte/teamics.html
>>>>>>>>> http://www.mestdagh.biz
>>>>>>>>>
>>>>>>>>> Saturday, July 29, 2006, 11:48, Max Terentiev wrote:
>>>>>>>>>
>>>>>>>>>> Helo,
>>>>>>>>>
>>>>>>>>>> What is a best event for starting new Smtp session (e.g.
>>>>>>>>>> start sending next message after previous is sent or aborted)?
>>>>>>>>>
>>>>>>>>>> I was try to Use OnSessionClosed or OnStateChange events
>>>>>>>>>> (in OnStateChange i wait for SmtpCli->State==smtpReady and
>>>>>>>>> Smtp->>CtrlSocket->State=wsClosed).
>>>>>>>>>
>>>>>>>>>> But anyway i receive folowing errors time to time:
>>>>>>>>>
>>>>>>>>>> 1. Smtp component not ready
>>>>>>>>>> 2. Error in function WSACancelAsyncRequest - Invalid Argument
>>>>>>>>>> 3. Smtp component already connected
>>>>>>>>>> 4. Can't change socks port if not closed.
>>>>>>>>>
>>>>>>>>>> This errors happens time to time (program can work minutes or
>>>>>>>>>> hours
>>>>>>>>>> before
>>>>>>>>>> it).
>>>>>>>>>
>>>>>>>>>> I not understand why it's happens ?
>>>>>>>>>
>>>>>>>>>> After sending message (or getting smtp protocol error during
>>>>>>>>>> sending
>>>>>>>>>> message) I ALWAYS Call SmtpCli->Abort() and wait in OnStateChange
>>>>>>>>>> until connection closed and component is ready. After it I 
>>>>>>>>>> prepare
>>>>>>>>>> next
>>>>>>>>>> message and call SmtpCli->Connect(), etc.
>>>>>>>>>
>>>>>>>>>> Why I receive errors 1-4 ?? Maybe I must do something special ?
>>>>>>>>>> How
>>>>>>>>>> i
>>>>>>>>>> can ensure what connection is 100% closed and component 100% 
>>>>>>>>>> ready
>>>>>>>>>> for
>>>>>>>>>> next
>>>>>>>>>> session ?
>>>>>>>>>
>>>>>>>>>> I NOT use Application->ProcessMessages inside SmtpCli events.
>>>>>>>>>
>>>>>>>>>> Please help... And excuse me for bad english.
>>>>>>>>>
>>>>>>>>>> ---
>>>>>>>>>> With best regards, Max Terentiev.
>>>>>>>>>> Business Software Products.
>>>>>>>>>> AMS Development Team.
>>>>>>>>>> [EMAIL PROTECTED]
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> -- 
>>>>>>>>> To unsubscribe or change your settings for TWSocket mailing list
>>>>>>>>> please goto http://www.elists.org/mailman/listinfo/twsocket
>>>>>>>>> Visit our website at http://www.overbyte.be
>>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> -- 
>>>>>>> To unsubscribe or change your settings for TWSocket mailing list
>>>>>>> please goto http://www.elists.org/mailman/listinfo/twsocket
>>>>>>> Visit our website at http://www.overbyte.be
>>>>>>>
>>>>>>
>>>>>> -- 
>>>>>> To unsubscribe or change your settings for TWSocket mailing list
>>>>>> please goto http://www.elists.org/mailman/listinfo/twsocket
>>>>>> Visit our website at http://www.overbyte.be
>>>>>
>>>>> -- 
>>>>> To unsubscribe or change your settings for TWSocket mailing list
>>>>> please goto http://www.elists.org/mailman/listinfo/twsocket
>>>>> Visit our website at http://www.overbyte.be
>>>>>
>>>>
>>>> -- 
>>>> To unsubscribe or change your settings for TWSocket mailing list
>>>> please goto http://www.elists.org/mailman/listinfo/twsocket
>>>> Visit our website at http://www.overbyte.be
>>>
>>> -- 
>>> To unsubscribe or change your settings for TWSocket mailing list
>>> please goto http://www.elists.org/mailman/listinfo/twsocket
>>> Visit our website at http://www.overbyte.be
>>>
>>
>> -- 
>> To unsubscribe or change your settings for TWSocket mailing list
>> please goto http://www.elists.org/mailman/listinfo/twsocket
>> Visit our website at http://www.overbyte.be
>
> -- 
> To unsubscribe or change your settings for TWSocket mailing list
> please goto http://www.elists.org/mailman/listinfo/twsocket
> Visit our website at http://www.overbyte.be
> 

-- 
To unsubscribe or change your settings for TWSocket mailing list
please goto http://www.elists.org/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be

Reply via email to