> On Thu, 10 Feb 2005 21:23:50 -0500, Tony Weeg <[EMAIL PROTECTED]> wrote:
> > how does that differ from what im doing?
It doesn't in principle, but maybe your cfmail code is the problem.
That spoolenable is out of the ordinary, at least to me.
As for my catch code, thats sorta complicated. I cut out quite a lot
of what I'm actually doing.
The first thing I do before sending an email to cfmail is validate it
against a series of regular expressions designed to individually flag
specific problems with an email address. If any are found, the list
of *all* problems with the address are collected together and output
to a variable, which then stores the html-formatted list of errors in
a discrete db record. The specific tests look like this
if (Len(variables.InclEmailAddr) lt 6) {
variables.FailureList=variables.FailureList & "<li>" &
inc_verify_email.Error1;
}
if (not Compare(FindNoCase("@",variables.InclEmailAddr),0)) {
variables.FailureList=variables.FailureList & "<li>" &
inc_verify_email.Error2;
}
and there are 40 separate item-specific tests. The error messages
represented as variables here would be "an email address must be at
least six characters long" and "an email address must contain at least
one '@' sign." respectively.
The 41st test is the usual gargantuan regex for an email validation.
This is my "general failure" test that bats cleanup for the first 40
if they miss something.
The purpose of this is to supply complete information to the non-tech
admin so they can clean up their list (the system uses imports that
are outside my control, so I can't validate at the import phase, which
would be better). I have found this level of user education to be
optimal for clerical-level (or otherwise dimwitted) employees who are
running mailings from my cms.
So I am actually doing address validation BEFORE the cfmail statement
(in that same loop). The try/catch is meant to catch anything missed
by the address validator, to make the system truly failure-proof (or
as much as can be at least). It collects data again, but this time it
stores cfcatch.message and cfcatch.detail in the discrete record along
with data identifying the record it fried on.
At the end of the mailing process the list of all errors is output
onto the screen, and emailed. This could be a mighty big email
message, but in actual practice its never gotten unmanageable.
If you want I can put up what all the email tests are, along with a
loop that shows it running (its just a cfif that wraps the cfmail
statement)
--
--mattRobertson--
Janitor, MSB Web Systems
mysecretbase.com
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Logware (www.logware.us): a new and convenient web-based time tracking
application. Start tracking and documenting hours spent on a project or with a
client with Logware today. Try it for free with a 15 day trial account.
http://www.houseoffusion.com/banners/view.cfm?bannerid=67
Message: http://www.houseoffusion.com/lists.cfm/link=i:4:194191
Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4
Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4
Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Donations & Support: http://www.houseoffusion.com/tiny.cfm/54