Timeout - WeOnlyDo Discussion board

Timeout (wodSmtp)

by Henning Kristensen, Monday, June 15, 2009, 22:29 (5627 days ago)

When a timeout occurs in the smtp server, a connected client is not informed vith an error. Also when the smtp server goes offline with clients connected, the clients are not informed with an error.

Is it possible to achieve this ?

Regards Henning :o)

Re: Timeout

by wodDamir, Monday, June 15, 2009, 22:42 (5627 days ago) @ Henning Kristensen

Henning,

I'm not really sure that I understand what exactly you mean. What do you mean by Timeout occurs in smtp server ? You mean while relaying?

Also, what do you means by Server goes offline ? If you mean that you call Stop method, then you could send anything to currently connected users by using Send Method. However, in that case be careful not to violate smtp protocol.

Regards,
Damba

Re: Timeout

by Henning Kristensen, Tuesday, June 16, 2009, 09:49 (5626 days ago) @ wodDamir

Henning,

I'm not really sure that I understand what exactly you mean. What do you mean by Timeout occurs in smtp server ? You mean while relaying?

Also, what do you means by Server goes offline ? If you mean that you call Stop method, then you could send anything to currently connected users by using Send Method. However, in that case be careful not to violate smtp protocol.

Regards,
Damba

Hi Damba

I do a lot of processing in the mailrecieved event. When the client is waiting for the resullt ( deny or accept ) the server might timeout if the value is too low. If this occurs the client seems to believe that the message is sent and everything is okay, but the mail is lost.
Also if i put the server offline during a mailrecieved event, the same thing seems to happen.
This is how i see things, maybe i wrong. Thats why i want to tell the client that the server did not recieve the mail.

Hope this is a more clear description of my problem :-)

Regards Henning

Re: Timeout

by wodDamir, Tuesday, June 16, 2009, 10:02 (5626 days ago) @ Henning Kristensen

Henning,

But if Timeout occured, then connection is no longer active. You can't *tell* client that message isn't received in that case.

However, client should detect that connection timed out (broke) for some reason, and provide an error in that case.

The only thing you could do to prevent timeout from occuring (from server side) is set Timeout property value to higher value. However in that case, client timeout still applies (if set).

Regards,
Damba

Re: Timeout

by Henning Kristensen, Wednesday, June 17, 2009, 14:05 (5625 days ago) @ wodDamir

Hi Damba
I've been testing af lot, made some test programs and tried several configurations. I'm using OCX component created dynamic during program execution.
You are right about the timeout. I can get to work if i set Threads to SafeThreads. Then the client recieves error about what caused it in the server. If i set Threats to NoThredas or FullThreads, client does not get any errors.
But with SafeThreads things stops working after a while. I't seems as if events stops working. Thats how i see it.

I'm gonna do some more testing, maybe i can tell you more later on.

Regards
Henning

Re: Timeout

by Henning Kristensen, Friday, June 19, 2009, 10:26 (5623 days ago) @ Henning Kristensen

Hi Damba

I do have some trouble with the threads property. I'm using borland developer studio 2006. I've read the documentation about threads and believe that there should be no problems in delphi. But when i send many mails at a time, the server stops working after a while. The server relays the mails to a external mailserver in mail recieved event. This happens with threads set to safethreads and fullthreads. If i use nothreads, everything works fine.
Are there any limitations about maximum connections to the server at a time ?. Any limitations about how many mails the relay que may contain.


Regards
Henning[/quote]

Re: Timeout

by wodDamir, Friday, June 19, 2009, 11:36 (5623 days ago) @ Henning Kristensen

Henning,

Is there any chance you could send us a sample application that we could run on our side in order to reproduce this behaviour?

You can send it to techsupport@weonlydo.com if possible.

Regards,
Damba