hi Arno the smtp server is my provider smtp relay ( TELECOM ITALIA) .it's public smtp relay for each adsl connection . Im my Outlook client i use it from the same dvelop PC and all mail with all attachment < 10 Mb will sent OK.
so , i have put your code in your demo app ..and the result it's the same. only if i check progress the email will sent ( with large attach).. it's like during the submission process, if I insert a small delay the server can process the email ( with large attach).. in fact if i put a small loop in SmtpClientMessageDataSent procedure or sleep(150) in myapp and it send email correctly .with all attach. but i can't do it in my real app , because there are a lot simultaneous thread ..e it impact a lot in GUI and in run time process. > > 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 End of TWSocket Digest, Vol 413, Issue 11 ***************************************** -- 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