> 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

Reply via email to