In your message you mention that you are getting a "channel not responding" error, even though the script is executing fine. Is the exact text of the error "FoxWeb Channel Stopped Responding"? If yes, then this excerpt from the Troubleshooting/Common Problems section of the FoxWeb documentation is relevant:
This information contradicts your statement that "the script is executing fine". Do you have any indication that the script continues to run after you get the error? Do the rest of the messages get sent out? If not, then my guess is that your channel is crashing for some reason -- possibly as a result to the mail object.
It is never a good idea to have scripts that take 5 minutes to run. There are many factors that may interrupt such scripts, such as a server re-boot, FoxWeb restart, Internet connectivity interruption, etc.. In my own programs I either try to find a more efficient algorithm to speed up the script, or use the script to queue the necessary processes (the queue can be held in a text file, or a database table) and have an external queue manager execute the tasks in the queue off-line.
One technique that would apply to this particular situation would be to use the IIS SMTP server and have email messages stored in its pickup folder instead of actually connecting via SMTP. The ASPSmartMail object that comes with FoxWeb does not directly support this, but other mail objects, such as JMail (http://www.dimac.net) do. In one particular project we have used JMail to queue thousands of email messages in less than a minute. The IIS SMTP server can then leisurely pick up these messages and send them to the specified recipients on its own time.
Sent by James Williams on 09/07/2005 10:30:56 AM:
Why am i getting a channel not responding error when the script is executing fine.
The script is used to send bulk emails out to our clients.
If there are 450 emails to be sent the script will send a copy to everyone individually so that the client does not know that they were part of a list, and will send to screen the progress of the sending eg response.write("Sending 1 of 450"). the script also updates the script timeout value to inform the script that it is still running. But at about 380 of 450 which may have taken 5-mins to run the script returns a foxweb channel is not responding error.
For nLoop=1 to 450
Response.write("Sending "+alltrim(str(nLoop))+" of 450...")
I am using version 3.1