About the author
On and off for the past few years, the emails from the "Contact me" form has been sporadic.
The Email Job in Community Server comprises of several components, and it hasn't been straightforward to troubleshoot. Thanks to Edward Benson's Delphi Test program for Open ODBC dbExpress Driver aka ODBC Explorer, I've finally figured out why my email job on Community Server isn't working.
I always thought it was a database issue, and looked into the mg_EmailQueue table in the database. I also ran the Reflector tool to examine the .NET code for Community Server, and it wasn't straightforward to trace the code, since Community Server declared plenty of abstract interfaces and so, made the tracing even more difficult.
Eventually, I figured the issue out!
The issue was a simple fix. In the communityserver.config file, I've set the thread to execute every 60 minutes. Since the Community Server web application is recycled pretty often, and nearly always before 60 minutes is up, the email job often failed to execute.
The fix? Simply set the minutes attribute to a value that's less than the IIS "Recycle worker process" setting.
I've ran a simple test just now to try out my fix, and it's working!
Continued discussion of undocumented Delphi 8 Property Access Specifiers, and other ways of adding and removing delegates / events handlers, including clearing the list of all the delegates / event handlers.
This article discusses the new Delphi 8 property access specifiers.
A method pointer is now the same as a global procedure, ie, procedure of object = procedure.