Hello Andrea,

> thank for your answer
> ( but i have read your post in Internet and not receive any email)
> how i can replay in my open thread ??

I do not understand, sorry.
 
> 
> but i have put a sleep(150) on SmtpClientDisplay procedure and all
> work well ..so this is fix..

I do not think so, there must be some reason for error #10004. 

> it's how the send streaming it's so fast like the server want..

That's impossible you cannot send data too fast.  
 
> 
> without "fix" i receive this error ( but i can't use it because
> freeze my APP)

What's freezing the GUI is displaying the log messages in the Memo
that causes 100% CPU and slows down transfers dramatically.

> 
> All message sent OK at the last after send file  i have this error
> 
>> 
>> --= Multipart Boundary 0305110951--
>> .
> RequestDone Rq=5 Error=10004
> RequestDone Rq=6 Error=0

Then the server probably drops the connection without a hint why.
If it were a good mail server the log would show something like: 

{code}
> 
> --= Multipart Boundary 0305111618--
.
> .
552 Message size exceeds fixed maximium message size
< 552 Message size exceeds fixed maximium message size
RequestDone Rq=5 Error: 552 Message size exceeds fixed maximium message size
Error, stoped All-In-One demo
RequestDone Rq=6 No Error
{code}

 
> i have see the calcmsg like you say but there isn't any example ...
> and  i don't know how use it in my procedure

There are multiple ways, this is just a simple example:

{code}
    case RqType of
        smtpConnect:
            begin
                SmtpClient.MessageSize := 0;
                SmtpClient.Ehlo;
            end;
        smtpEhlo:
            begin
                if SmtpClient.Username <> '' then
                begin
                    SmtpClient.AuthType := smtpAuthAutoSelect;
                    SmtpClient.Auth;
                end
                else if SmtpClient.SizeSupported then
                    SmtpClient.CalcMsgSize
                else
                    SmtpClient.MailFrom;
            end;
        smtpCalcMsgSize:
            SmtpClient.MailFromSIZE;
        smtpAuth:
            begin
                if SmtpClient.SizeSupported then
                    SmtpClient.CalcMsgSize
                else
                    SmtpClient.MailFrom;
            end;
        smtpMailFrom:
            SmtpClient.RcptTo;
        smtpRcptTo:
            SmtpClient.Data;
        smtpData:
            SmtpClient.Quit;
        smtpQuit:
            Display('All-In-One done !');
    end;
{code}

Note that like most samples it lacks proper error checks. 

> i have see in your demo and you use it in PrepareProgressBar.
> 
> so i have insert a procedure like PrepaeProgressBar and now it
> work...with all file...(i hope ..next day i test it with more file on
> large develop case)

That doesn't make sense IMO.
 
> conclusion
> i have reproduce it in your demo app...if i send a very small file
> all work without check progress bar
> with large file i need to check progress bar ...(same in my app)..
> i have see that this problem can repruduce with very larg body
> text..(html not testing but i think is the same)

It is very likely that the server accepts only a certain amount of 
data from the same IP within some time frame. Try my example above
with the demo and see what happens.   

> 
> i think that calcmsg(sync) could be a default setting in your
> componet..when file attachment or body text is to large..

I don't think so, you are free to use it in designs like the
All-In-One demo.
 
-- 
Arno Garrels



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

Reply via email to