CFMX 'bug'? Easy to crash CFMAIL.

2004-01-20 Thread Matt Robertson
Well, it was about time... Finally upgraded my CF 4.5 server to 6.1.
Had minimal problems, and really nothing unexpected, except for this one
showstopper:

Previously, if you tried to send cfmail to "foo@ bar.com" (note the
space) or "foo@@bar.com" or somesuch, cfmail would just dump it into the
undeliverable folder and soldier on.  Under 6.1 it crashes the
application.  Now, we all know the GIGO rule about data, but try telling
that to a large client with an equally large membership they can no
longer send mail to as a group.

I've written an email validator, and added a lot of processing overhead
to the mail service, but I've still taken a big black eye over this.
Something this obvious has been reported, right?  Or is it taken for
granted now that CFMAIL breaks on this?

I can only find minimal mention of this (one post on some guy's forum)
on Google and nothing at MM, although I may be missing it.


 Matt Robertson   [EMAIL PROTECTED] 
 MSB Designs, Inc.  http://mysecretbase.com

 [Todays Threads] 
 [This Message] 
 [Subscription] 
 [Fast Unsubscribe] 
 [User Settings]




Re: CFMX 'bug'? Easy to crash CFMAIL.

2004-01-20 Thread Christian Cantrell
I'm checking with the engineering team.  I'll let you know what I hear.

Christian

On Tuesday, January 20, 2004, at 11:14  AM, Matt Robertson wrote:

> Well, it was about time... Finally upgraded my CF 4.5 server to 6.1.
> Had minimal problems, and really nothing unexpected, except for this 
> one
> showstopper:
>
> Previously, if you tried to send cfmail to "foo@ bar.com" (note the
> space) or "foo@@bar.com" or somesuch, cfmail would just dump it into 
> the
> undeliverable folder and soldier on.  Under 6.1 it crashes the
> application.  Now, we all know the GIGO rule about data, but try 
> telling
> that to a large client with an equally large membership they can no
> longer send mail to as a group.
>
> I've written an email validator, and added a lot of processing overhead
> to the mail service, but I've still taken a big black eye over this.
> Something this obvious has been reported, right?  Or is it taken for
> granted now that CFMAIL breaks on this?
>
> I can only find minimal mention of this (one post on some guy's forum)
> on Google and nothing at MM, although I may be missing it.
>
> 
> Matt Robertson   [EMAIL PROTECTED]
> MSB Designs, Inc.  http://mysecretbase.com
> 

>
>
 [Todays Threads] 
 [This Message] 
 [Subscription] 
 [Fast Unsubscribe] 
 [User Settings]




Re: CFMX 'bug'? Easy to crash CFMAIL.

2004-01-20 Thread Thomas Chiverton
On Tuesday 20 Jan 2004 16:14 pm, Matt Robertson wrote:
> showstopper:

It's not a bug in CFMX, but rather your app. 
If your app thinks "foo@ bar.com" or "foo@@bar.com" is a valid email address 
and lets someone enter it, your app is broke.

-- 
Tom Chiverton 
Advanced ColdFusion Programmer

Tel: +44(0)1749 834997
email: [EMAIL PROTECTED]
BlueFinger Limited
Underwood Business Park
Wookey Hole Road, WELLS. BA5 1AF
Tel: +44 (0)1749 834900
Fax: +44 (0)1749 834901
web: www.bluefinger.com
Company Reg No: 4209395 Registered Office: 2 Temple Back East, Temple
Quay, BRISTOL. BS1 6EG.
*** This E-mail contains confidential information for the addressee
only. If you are not the intended recipient, please notify us
immediately. You should not use, disclose, distribute or copy this
communication if received in error. No binding contract will result from
this e-mail until such time as a written document is signed on behalf of
the company. BlueFinger Limited cannot accept responsibility for the
completeness or accuracy of this message as it has been transmitted over
public networks.***
 [Todays Threads] 
 [This Message] 
 [Subscription] 
 [Fast Unsubscribe] 
 [User Settings]




RE: CFMX 'bug'? Easy to crash CFMAIL.

2004-01-20 Thread Matt Robertson
Thanks Christian,  

I'm getting burned hard over this by a very large client.  We were about
to set them up with their own dedicated CF cluster and this hit.  Made
all the political opponents in the organization came out of the
woodwork.

Did some more looking.  Looks like its been griped about here before,
albeit only once and very recently.

http://www.houseoffusion.com/cf_lists/index.cfm?method=messages&ThreadID
=29645&forumid=4𤕉

I see issue #37498 was at least partially similar and fixed in 6.1, but
only for the From address.


 Matt Robertson   [EMAIL PROTECTED] 
 MSB Designs, Inc.  http://mysecretbase.com

 [Todays Threads] 
 [This Message] 
 [Subscription] 
 [Fast Unsubscribe] 
 [User Settings]




RE: CFMX 'bug'? Easy to crash CFMAIL.

2004-01-20 Thread Tom Jordahl
Here is the error I get:



Attribute validation error for tag CFMAIL. 

 	 

The value of the attribute to, which is currently "tomj@ macromedia.com", is invalid. 



Which is the correct thing - the attribute is invalid.  Nothing is crashing.

--
Tom Jordahl
Macromedia Server Development

-Original Message-
From: Matt Robertson [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, January 20, 2004 11:14 AM
To: CF-Talk
Subject: CFMX 'bug'? Easy to crash CFMAIL.

Well, it was about time... Finally upgraded my CF 4.5 server to 6.1.
Had minimal problems, and really nothing unexpected, except for this one
showstopper:

Previously, if you tried to send cfmail to "foo@ bar.com" (note the
space) or "foo@@bar.com" or somesuch, cfmail would just dump it into the
undeliverable folder and soldier on.  Under 6.1 it crashes the
application.  Now, we all know the GIGO rule about data, but try telling
that to a large client with an equally large membership they can no
longer send mail to as a group.

I've written an email validator, and added a lot of processing overhead
to the mail service, but I've still taken a big black eye over this.
Something this obvious has been reported, right?  Or is it taken for
granted now that CFMAIL breaks on this?

I can only find minimal mention of this (one post on some guy's forum)
on Google and nothing at MM, although I may be missing it.


Matt Robertson   [EMAIL PROTECTED] 
MSB Designs, Inc.  http://mysecretbase.com  

 [Todays Threads] 
 [This Message] 
 [Subscription] 
 [Fast Unsubscribe] 
 [User Settings]




RE: CFMX 'bug'? Easy to crash CFMAIL.

2004-01-20 Thread Katz, Dov B (IT)
For a quick fix, do a global search and replace to use a custom tag
called cf_mail,
and then write cf_mail to call cfmail with a try catch.  That will
eliminate any issues from the end user experience.  Then you can spend
some time and fix it for real.
-Dov

  _  

	From: Matt Robertson [mailto:[EMAIL PROTECTED] 
	Sent: Tuesday, January 20, 2004 11:33 AM
	To: CF-Talk
	Subject: RE: CFMX 'bug'? Easy to crash CFMAIL.
	
	
	Thanks Christian,  
	
	I'm getting burned hard over this by a very large client.  We
were about
	to set them up with their own dedicated CF cluster and this hit.
Made
	all the political opponents in the organization came out of the
	woodwork.
	
	Did some more looking.  Looks like its been griped about here
before,
	albeit only once and very recently.
	
	
http://www.houseoffusion.com/cf_lists/index.cfm?method=messages&ThreadID
	=29645&forumid=4𤕉
	
	I see issue #37498 was at least partially similar and fixed in
6.1, but
	only for the From address.
	
	
	Matt Robertson   [EMAIL PROTECTED] 
	MSB Designs, Inc.  http://mysecretbase.com
	 
  _
 [Todays Threads] 
 [This Message] 
 [Subscription] 
 [Fast Unsubscribe] 
 [User Settings]




RE: CFMX 'bug'? Easy to crash CFMAIL.

2004-01-20 Thread Adam Reynolds
Thomas,
Technically it is a bug. Cfmail should not throw an exception when passed an
email address (no matter what the content) Particularly if this is a new bug
introduced into 6.1

Your email didn't help and the tone of it was derogatory. This list is there
for people to help each other. Please respect that.

  -Original Message-
  From: Thomas Chiverton [mailto:[EMAIL PROTECTED]
  Sent: 20 January 2004 16:31
  To: CF-Talk
  Subject: Re: CFMX 'bug'? Easy to crash CFMAIL.

  On Tuesday 20 Jan 2004 16:14 pm, Matt Robertson wrote:
  > showstopper:

  It's not a bug in CFMX, but rather your app.
  If your app thinks "foo@ bar.com" or "foo@@bar.com" is a valid email
address
  and lets someone enter it, your app is broke.

  --
  Tom Chiverton
  Advanced ColdFusion Programmer

  Tel: +44(0)1749 834997
  email: [EMAIL PROTECTED]
  BlueFinger Limited
  Underwood Business Park
  Wookey Hole Road, WELLS. BA5 1AF
  Tel: +44 (0)1749 834900
  Fax: +44 (0)1749 834901
  web: www.bluefinger.com
  Company Reg No: 4209395 Registered Office: 2 Temple Back East, Temple
  Quay, BRISTOL. BS1 6EG.
  *** This E-mail contains confidential information for the addressee
  only. If you are not the intended recipient, please notify us
  immediately. You should not use, disclose, distribute or copy this
  communication if received in error. No binding contract will result from
  this e-mail until such time as a written document is signed on behalf of
  the company. BlueFinger Limited cannot accept responsibility for the
  completeness or accuracy of this message as it has been transmitted over
  public networks.***
 [Todays Threads] 
 [This Message] 
 [Subscription] 
 [Fast Unsubscribe] 
 [User Settings]




Re: CFMX 'bug'? Easy to crash CFMAIL.

2004-01-20 Thread Thomas Chiverton
On Tuesday 20 Jan 2004 16:57 pm, Adam Reynolds wrote:
> Thomas,
> Technically it is a bug. Cfmail should not throw an exception when passed
> an email address (no matter what the content) Particularly if this is a new
> bug introduced into 6.1

It wasn't being passed an email address though, was it, which was my point. 
It was therefore within it's rights to throw an exception. The change in 
behaviour should have been documented, I agree.

Also, though, Matt's testing should have caught this - because we test with 
real world data don't we :-)

There is also a general rule about app design that goes along the lines of 
"try/catch any interaction with outside systems" - that would be things like 
mail servers, databases and fax machines.

> Your email didn't help and the tone of it was derogatory. This list is
> there for people to help each other. Please respect that.

And I've both given and recieved it.

-- 
Tom Chiverton 
Advanced ColdFusion Programmer

Tel: +44(0)1749 834997
email: [EMAIL PROTECTED]
BlueFinger Limited
Underwood Business Park
Wookey Hole Road, WELLS. BA5 1AF
Tel: +44 (0)1749 834900
Fax: +44 (0)1749 834901
web: www.bluefinger.com
Company Reg No: 4209395 Registered Office: 2 Temple Back East, Temple
Quay, BRISTOL. BS1 6EG.
*** This E-mail contains confidential information for the addressee
only. If you are not the intended recipient, please notify us
immediately. You should not use, disclose, distribute or copy this
communication if received in error. No binding contract will result from
this e-mail until such time as a written document is signed on behalf of
the company. BlueFinger Limited cannot accept responsibility for the
completeness or accuracy of this message as it has been transmitted over
public networks.***
 [Todays Threads] 
 [This Message] 
 [Subscription] 
 [Fast Unsubscribe] 
 [User Settings]




RE: CFMX 'bug'? Easy to crash CFMAIL.

2004-01-20 Thread Dave Watts
> Technically it is a bug. Cfmail should not throw an exception 
> when passed an email address (no matter what the content) 
> Particularly if this is a new bug introduced into 6.1

I disagree with this. I think that this behavior is in some ways preferable
to previous behavior. I also think that this isn't necessarily a bug - it
sounds like intentional behavior to me.

But in any case, this doesn't help with your problem, and since you have
existing code that depended on the previous behavior, you need some
solution. You should be able to fix this pretty quickly by wrapping your
CFMAIL tag within an exception handler. If you're using CFMAIL to process a
query, you'll want to keep track of the record with the error, then skip to
the next record. This should be pretty easy to retrofit to your application,
I hope.

Dave Watts, CTO, Fig Leaf Software
http://www.figleaf.com/
voice: (202) 797-5496
fax: (202) 797-5444
 [Todays Threads] 
 [This Message] 
 [Subscription] 
 [Fast Unsubscribe] 
 [User Settings]




RE: CFMX 'bug'? Easy to crash CFMAIL.

2004-01-20 Thread Matt Robertson
Tom Jordahl wrote:
>Which is the correct thing - the attribute is invalid.  Nothing is
crashing.

The app is crashing due to undocumented, changed behavior.  You might
consider documenting it.

So now, under CFMX, I must wrap any cfmail statement in a validator or a
special try/catch to keep it from potentially crashing my app.  OK.  Got
it.


 Matt Robertson   [EMAIL PROTECTED] 
 MSB Designs, Inc.  http://mysecretbase.com

 [Todays Threads] 
 [This Message] 
 [Subscription] 
 [Fast Unsubscribe] 
 [User Settings]




Re: CFMX 'bug'? Easy to crash CFMAIL.

2004-01-20 Thread Jochem van Dieten
Adam Reynolds wrote:
> 
> Technically it is a bug. Cfmail should not throw an exception when passed an
> email address (no matter what the content)

But the whole point is that it wasn't passed an email address.

Jochem

-- 
I don't get it
immigrants don't work
and steal our jobs
 - Loesje
 [Todays Threads] 
 [This Message] 
 [Subscription] 
 [Fast Unsubscribe] 
 [User Settings]




RE: CFMX 'bug'? Easy to crash CFMAIL.

2004-01-20 Thread Raymond Camden
Incorrect. You simply need to check the email address first. This is best
done one time - so do it before inserting it into the DB.
 [Todays Threads] 
 [This Message] 
 [Subscription] 
 [Fast Unsubscribe] 
 [User Settings]




RE: CFMX 'bug'? Easy to crash CFMAIL.

2004-01-20 Thread Matt Robertson
Dave Watts wrote:
>You should be able to fix this pretty quickly by wrapping your
>CFMAIL tag within an exception handler. 

Yes.  Fortunately I have few uses of this tag where the data is outside
normal validation.    

I can't do it before db insertion because its not my data.  

I'll write a try/catch and a validator with a result log displayed
onscreen and stored.  Probably a custom tag or something.


 Matt Robertson   [EMAIL PROTECTED] 
 MSB Designs, Inc.  http://mysecretbase.com

 [Todays Threads] 
 [This Message] 
 [Subscription] 
 [Fast Unsubscribe] 
 [User Settings]




RE: CFMX 'bug'? Easy to crash CFMAIL.

2004-01-20 Thread Katz, Dov B (IT)
IMHO, CF fixed the "bug" in 6.1 by making it enforce the IETF email
address standards...  Relying on the  "bug" in previous versions was a
mistake. :)
-dov

  _  

	From: Dave Watts [mailto:[EMAIL PROTECTED] 
	Sent: Tuesday, January 20, 2004 12:14 PM
	To: CF-Talk
	Subject: RE: CFMX 'bug'? Easy to crash CFMAIL.
	
	
	> Technically it is a bug. Cfmail should not throw an exception 
	> when passed an email address (no matter what the content) 
	> Particularly if this is a new bug introduced into 6.1
	
	I disagree with this. I think that this behavior is in some ways
preferable
	to previous behavior. I also think that this isn't necessarily a
bug - it
	sounds like intentional behavior to me.
	
	But in any case, this doesn't help with your problem, and since
you have
	existing code that depended on the previous behavior, you need
some
	solution. You should be able to fix this pretty quickly by
wrapping your
	CFMAIL tag within an exception handler. If you're using CFMAIL
to process a
	query, you'll want to keep track of the record with the error,
then skip to
	the next record. This should be pretty easy to retrofit to your
application,
	I hope.
	
	Dave Watts, CTO, Fig Leaf Software
	http://www.figleaf.com/
	voice: (202) 797-5496
	fax: (202) 797-5444 
  _
 [Todays Threads] 
 [This Message] 
 [Subscription] 
 [Fast Unsubscribe] 
 [User Settings]




Re: CFMX 'bug'? Easy to crash CFMAIL.

2004-01-20 Thread Thomas Chiverton
On Tuesday 20 Jan 2004 17:12 pm, Matt Robertson wrote:
> So now, under CFMX, I must wrap any cfmail statement in a validator or a
> special try/catch to keep it from potentially crashing my app.  OK.  Got
> it.

Umm, no, you should validate user input before acting on it.
Idealy at entry time. The same way you strip out '";drop all;commit;' from 
peoples usernames.

-- 
Tom Chiverton 
Advanced ColdFusion Programmer

Tel: +44(0)1749 834997
email: [EMAIL PROTECTED]
BlueFinger Limited
Underwood Business Park
Wookey Hole Road, WELLS. BA5 1AF
Tel: +44 (0)1749 834900
Fax: +44 (0)1749 834901
web: www.bluefinger.com
Company Reg No: 4209395 Registered Office: 2 Temple Back East, Temple
Quay, BRISTOL. BS1 6EG.
*** This E-mail contains confidential information for the addressee
only. If you are not the intended recipient, please notify us
immediately. You should not use, disclose, distribute or copy this
communication if received in error. No binding contract will result from
this e-mail until such time as a written document is signed on behalf of
the company. BlueFinger Limited cannot accept responsibility for the
completeness or accuracy of this message as it has been transmitted over
public networks.***
 [Todays Threads] 
 [This Message] 
 [Subscription] 
 [Fast Unsubscribe] 
 [User Settings]




Re: CFMX 'bug'? Easy to crash CFMAIL.

2004-01-20 Thread Thomas Chiverton
On Tuesday 20 Jan 2004 17:27 pm, Matt Robertson wrote:
> I can't do it before db insertion because its not my data.

Even better then :-)
Spend 2 seconds knocking up a  over all your data and testing the 
email address field.
Then take the list of failues to the data provider and give them all the grief 
you got :-)
-- 
Tom Chiverton 
Advanced ColdFusion Programmer

Tel: +44(0)1749 834997
email: [EMAIL PROTECTED]
BlueFinger Limited
Underwood Business Park
Wookey Hole Road, WELLS. BA5 1AF
Tel: +44 (0)1749 834900
Fax: +44 (0)1749 834901
web: www.bluefinger.com
Company Reg No: 4209395 Registered Office: 2 Temple Back East, Temple
Quay, BRISTOL. BS1 6EG.
*** This E-mail contains confidential information for the addressee
only. If you are not the intended recipient, please notify us
immediately. You should not use, disclose, distribute or copy this
communication if received in error. No binding contract will result from
this e-mail until such time as a written document is signed on behalf of
the company. BlueFinger Limited cannot accept responsibility for the
completeness or accuracy of this message as it has been transmitted over
public networks.***
 [Todays Threads] 
 [This Message] 
 [Subscription] 
 [Fast Unsubscribe] 
 [User Settings]




RE: CFMX 'bug'? Easy to crash CFMAIL.

2004-01-20 Thread Matt Robertson
>Then take the list of failues to the data provider and give them all
the grief 
>you got :-)

Can't.  Politics.  The data came from the company itself.

I've already got a validator that works fine, although I may go for a
more robust custom tag type of solution that gets serious about
reporting user-friendly errors to the sender and such.  

Odd that a similar issue was reported as fixed in 6.1, but only for the
>From field.  Must have been other issues involved there.

Seems like the positive thing that should come of this is that the
changed behavior gets documented and we leave it at that.  


 Matt Robertson   [EMAIL PROTECTED] 
 MSB Designs, Inc.  http://mysecretbase.com


-Original Message-
From: Thomas Chiverton [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, January 20, 2004 9:38 AM
To: CF-Talk
Subject: Re: CFMX 'bug'? Easy to crash CFMAIL.

On Tuesday 20 Jan 2004 17:27 pm, Matt Robertson wrote:
> I can't do it before db insertion because its not my data.

Even better then :-)
Spend 2 seconds knocking up a  over all your data and testing
the 
email address field.

-- 
Tom Chiverton 
Advanced ColdFusion Programmer

Tel: +44(0)1749 834997
email: [EMAIL PROTECTED]
BlueFinger Limited
Underwood Business Park
Wookey Hole Road, WELLS. BA5 1AF
Tel: +44 (0)1749 834900
Fax: +44 (0)1749 834901
web: www.bluefinger.com
Company Reg No: 4209395 Registered Office: 2 Temple Back East, Temple
Quay, BRISTOL. BS1 6EG.
*** This E-mail contains confidential information for the addressee
only. If you are not the intended recipient, please notify us
immediately. You should not use, disclose, distribute or copy this
communication if received in error. No binding contract will result from
this e-mail until such time as a written document is signed on behalf of
the company. BlueFinger Limited cannot accept responsibility for the
completeness or accuracy of this message as it has been transmitted over
public networks.***
 [Todays Threads] 
 [This Message] 
 [Subscription] 
 [Fast Unsubscribe] 
 [User Settings]




Re: CFMX 'bug'? Easy to crash CFMAIL.

2004-01-20 Thread Christian Cantrell
On Tuesday, January 20, 2004, at 11:14  AM, Matt Robertson wrote:

> Previously, if you tried to send cfmail to "foo@ bar.com" (note the
> space) or "foo@@bar.com" or somesuch, cfmail would just dump it into 
> the
> undeliverable folder and soldier on.

Just to verify what I think everyone has already figured out, the 
current behavior isn't a bug.  When you said the application was 
"crashing", I thought you meant it was crashing the application server, 
which obviously would have been big bug.  It seems ColdFusion is 
throwing an exception, instead, indicating that the email address is 
invalid, which was a deliberate change in CFMX.

It looks like you have already considered several options for 
re-factoring your code.  If you like having undelivered mail saved in a 
particular directory or file, you can always manually do so in a 
CFCATCH block.  Otherwise, validation either at the time the data is 
entered (preferable), or at the time the data is selected is clearly in 
order.

Sorry for the confusion.

Christian
 [Todays Threads] 
 [This Message] 
 [Subscription] 
 [Fast Unsubscribe] 
 [User Settings]




Re: CFMX 'bug'? Easy to crash CFMAIL.

2004-01-20 Thread B G
>It's not a bug in CFMX, but rather your app. If your app thinks "foo@ 
>bar.com" or "foo@@bar.com" is a valid email address and lets someone enter 
>it, your app is broke.

I don't agree fully with this.  While I validate new emails on the forms I 
create, I don't always have control over new data.  Lists can be imported, 
other staff can access the database from the backend etc.  Old bad data 
lives on despite our best efforts.

I got hit with this one immediately after upgrading to 6.0.  I'm surprised 
more people haven't complained.  But I addressed it as an annoyance, 
validated emails as they are being input AND as they are being sent, and 
flagged bad ones to not be sent to in the future.

It was surprising that what seemed to work well in 4.5 didn't work well in 
MX. But, for me it was an education, I wasn't diligent enough about allowing 
garbage in.

BG

>From: Thomas Chiverton <[EMAIL PROTECTED]>
>Reply-To: [EMAIL PROTECTED]
>To: CF-Talk <[EMAIL PROTECTED]>
>Subject: Re: CFMX 'bug'?  Easy to crash CFMAIL.
>Date: Tue, 20 Jan 2004 17:05:37 +
>
>On Tuesday 20 Jan 2004 16:57 pm, Adam Reynolds wrote:
> > Thomas,
> > Technically it is a bug. Cfmail should not throw an exception when 
>passed
> > an email address (no matter what the content) Particularly if this is a 
>new
> > bug introduced into 6.1
>
>It wasn't being passed an email address though, was it, which was my point.
>It was therefore within it's rights to throw an exception. The change in
>behaviour should have been documented, I agree.
>
>Also, though, Matt's testing should have caught this - because we test with
>real world data don't we :-)
>
>There is also a general rule about app design that goes along the lines of
>"try/catch any interaction with outside systems" - that would be things 
>like
>mail servers, databases and fax machines.
>
> > Your email didn't help and the tone of it was derogatory. This list is
> > there for people to help each other. Please respect that.
>
>And I've both given and recieved it.
>
>--
>Tom Chiverton
>Advanced ColdFusion Programmer
>
>Tel: +44(0)1749 834997
>email: [EMAIL PROTECTED]
>BlueFinger Limited
>Underwood Business Park
>Wookey Hole Road, WELLS. BA5 1AF
>Tel: +44 (0)1749 834900
>Fax: +44 (0)1749 834901
>web: www.bluefinger.com
>Company Reg No: 4209395 Registered Office: 2 Temple Back East, Temple
>Quay, BRISTOL. BS1 6EG.
>*** This E-mail contains confidential information for the addressee
>only. If you are not the intended recipient, please notify us
>immediately. You should not use, disclose, distribute or copy this
>communication if received in error. No binding contract will result from
>this e-mail until such time as a written document is signed on behalf of
>the company. BlueFinger Limited cannot accept responsibility for the
>completeness or accuracy of this message as it has been transmitted over
>public networks.***
>
>
 [Todays Threads] 
 [This Message] 
 [Subscription] 
 [Fast Unsubscribe] 
 [User Settings]




Re: CFMX 'bug'? Easy to crash CFMAIL.

2004-01-21 Thread Thomas Chiverton
On Tuesday 20 Jan 2004 18:13 pm, Matt Robertson wrote:
> Can't.  Politics.  

Bah :-)

-- 
Tom Chiverton 
Advanced ColdFusion Programmer

Tel: +44(0)1749 834997
email: [EMAIL PROTECTED]
BlueFinger Limited
Underwood Business Park
Wookey Hole Road, WELLS. BA5 1AF
Tel: +44 (0)1749 834900
Fax: +44 (0)1749 834901
web: www.bluefinger.com
Company Reg No: 4209395 Registered Office: 2 Temple Back East, Temple
Quay, BRISTOL. BS1 6EG.
*** This E-mail contains confidential information for the addressee
only. If you are not the intended recipient, please notify us
immediately. You should not use, disclose, distribute or copy this
communication if received in error. No binding contract will result from
this e-mail until such time as a written document is signed on behalf of
the company. BlueFinger Limited cannot accept responsibility for the
completeness or accuracy of this message as it has been transmitted over
public networks.***
 [Todays Threads] 
 [This Message] 
 [Subscription] 
 [Fast Unsubscribe] 
 [User Settings]




RE: CFMX 'bug'? Easy to crash CFMAIL.

2004-01-21 Thread Tyler Clendenin
Some things I feel I must point out.
1. Data Integrity is always an issue but why should I waste my precious cpu
time checking first what the tag is already checking.  If this was truly
intentional I would think that the devs at Macromedia would have built in a
little more reverse compatibility,  Maybe some sort of attributes called
throwonbademail defaulted to false.
2. My main problem with this is that if you send to a query and it throws an
error it stops mid e-mail and does not rollback or anything it only sends
out the first percentage of the e-mail before the bad e-mail address.

Tyler Clendenin
GSL Solutions
 [Todays Threads] 
 [This Message] 
 [Subscription] 
 [Fast Unsubscribe] 
 [User Settings]




RE: CFMX 'bug'? Easy to crash CFMAIL.

2004-01-21 Thread Gaulin, Mark
Re #1: Doesn't putting a try/catch around the cfmail do the trick?  That way
you don't have to validate the email yourself... just let cfmail fail if it
wants to.

 
If you put the try/catch around the entire cfloop (or cfoutput) of a query
then Yes, it will abort the whole job. But if you put the cftry/cfcatch
around only the cfmail then you can do whatever error recovery you want. One
easy way is to set variables.DidEmailWork = true above the cftry/cfmail and
set variables.DidEmailWork = false in the cfcatch.  Then do any good/no good
handling outside of the cfttry using that variable to decide what happened.

 
    Mark

-Original Message-
From: Tyler Clendenin [mailto:[EMAIL PROTECTED]
Sent: Wednesday, January 21, 2004 10:18 AM
To: CF-Talk
Subject: RE: CFMX 'bug'? Easy to crash CFMAIL.

Some things I feel I must point out.
1. Data Integrity is always an issue but why should I waste my precious cpu
time checking first what the tag is already checking.  If this was truly
intentional I would think that the devs at Macromedia would have built in a
little more reverse compatibility,  Maybe some sort of attributes called
throwonbademail defaulted to false.
2. My main problem with this is that if you send to a query and it throws an
error it stops mid e-mail and does not rollback or anything it only sends
out the first percentage of the e-mail before the bad e-mail address.

Tyler Clendenin
GSL Solutions 
  _
 [Todays Threads] 
 [This Message] 
 [Subscription] 
 [Fast Unsubscribe] 
 [User Settings]




RE: CFMX 'bug'? Easy to crash CFMAIL.

2004-01-21 Thread Dave Watts
> 1. Data Integrity is always an issue but why should I waste 
> my precious cpu time checking first what the tag is already 
> checking. If this was truly intentional I would think that 
> the devs at Macromedia would have built in a little more 
> reverse compatibility, Maybe some sort of attributes called
> throwonbademail defaulted to false.

Well, in the previous versions, the tag wasn't actually checking anything,
apparently. It was just putting mail in the queue, and that mail would be
undeliverable for obvious reasons. That's certainly not good behavior.

As for its intentionality, I suspect that there are a lot of these sorts of
differences between CFMX and prior versions, since the entire product was
rewritten from C++ (I think) to Java. In this particular case, I think the
new behavior is more sensible than the old.

> 2. My main problem with this is that if you send to a query 
> and it throws an error it stops mid e-mail and does not 
> rollback or anything it only sends out the first percentage 
> of the e-mail before the bad e-mail address.

Yeah, this sucks if you have existing code, and there's no obvious way to
just return to the next record as far as I know. I'd recommend that, within
your CFMAIL query loop, you keep track of the current record, and trap that
within your exception handler so you know where to resume.

Dave Watts, CTO, Fig Leaf Software
http://www.figleaf.com/
voice: (202) 797-5496
fax: (202) 797-5444
 [Todays Threads] 
 [This Message] 
 [Subscription] 
 [Fast Unsubscribe] 
 [User Settings]




RE: CFMX 'bug'? Easy to crash CFMAIL.

2004-01-21 Thread Katz, Dov B (IT)
Warning:  Doing all the try-catches is once again relying on CF behavior
which we all witnessed changing without notice (rightfully so).  

 
The proper way to do this is to perform the syntax check yourself, and
only call CFMAIL if necessary.  If anything, CFMX should be kind enough
to add a new function isValidEmail() since most webapps do it pretty
often.

 
By CFCatching all CFMAIL errors, you might never find out you had a bad
mailserver configured, or something else completely different from an
improperly formatted email address.

 
-Dov

  _  

	From: Gaulin, Mark [mailto:[EMAIL PROTECTED] 
	Sent: Wednesday, January 21, 2004 10:25 AM
	To: CF-Talk
	Subject: RE: CFMX 'bug'? Easy to crash CFMAIL.
	
	
	Re #1: Doesn't putting a try/catch around the cfmail do the
trick?  That way
	you don't have to validate the email yourself... just let cfmail
fail if it
	wants to.
	
	
	If you put the try/catch around the entire cfloop (or cfoutput)
of a query
	then Yes, it will abort the whole job. But if you put the
cftry/cfcatch
	around only the cfmail then you can do whatever error recovery
you want. One
	easy way is to set variables.DidEmailWork = true above the
cftry/cfmail and
	set variables.DidEmailWork = false in the cfcatch.  Then do any
good/no good
	handling outside of the cfttry using that variable to decide
what happened.
	
	
	    Mark
	
	-Original Message-
	From: Tyler Clendenin [mailto:[EMAIL PROTECTED]
	Sent: Wednesday, January 21, 2004 10:18 AM
	To: CF-Talk
	Subject: RE: CFMX 'bug'? Easy to crash CFMAIL.
	
	Some things I feel I must point out.
	1. Data Integrity is always an issue but why should I waste my
precious cpu
	time checking first what the tag is already checking.  If this
was truly
	intentional I would think that the devs at Macromedia would have
built in a
	little more reverse compatibility,  Maybe some sort of
attributes called
	throwonbademail defaulted to false.
	2. My main problem with this is that if you send to a query and
it throws an
	error it stops mid e-mail and does not rollback or anything it
only sends
	out the first percentage of the e-mail before the bad e-mail
address.
	
	Tyler Clendenin
	GSL Solutions 
	  _ 
  _
 [Todays Threads] 
 [This Message] 
 [Subscription] 
 [Fast Unsubscribe] 
 [User Settings]




RE: CFMX 'bug'? Easy to crash CFMAIL.

2004-01-21 Thread Dave Watts
> Re #1: Doesn't putting a try/catch around the cfmail do the 
> trick? That way you don't have to validate the email yourself... 
> just let cfmail fail if it wants to.
>  
> If you put the try/catch around the entire cfloop (or cfoutput) 
> of a query then Yes, it will abort the whole job. But if you put 
> the cftry/cfcatch around only the cfmail then you can do whatever 
> error recovery you want. One easy way is to set 
> variables.DidEmailWork = true above the cftry/cfmail and set 
> variables.DidEmailWork = false in the cfcatch. Then do any good/no 
> good handling outside of the cfttry using that variable to decide 
> what happened.

Unfortunately, this approach isn't as clear when you're using a query with
your CFMAIL tag itself; when you do that, it automatically loops over your
recordset, and if any record within that recordset has an invalid address,
the whole thing will fail at that point.

Dave Watts, CTO, Fig Leaf Software
http://www.figleaf.com/
voice: (202) 797-5496
fax: (202) 797-5444
 [Todays Threads] 
 [This Message] 
 [Subscription] 
 [Fast Unsubscribe] 
 [User Settings]




RE: CFMX 'bug'? Easy to crash CFMAIL.

2004-01-21 Thread Katz, Dov B (IT)
Tyler,

 
2) so why don't you CFLOOP query=, and cfmail inside the loop to solve
this?
-Dov

  _  

	From: Tyler Clendenin [mailto:[EMAIL PROTECTED] 
	Sent: Wednesday, January 21, 2004 10:18 AM
	To: CF-Talk
	Subject: RE: CFMX 'bug'? Easy to crash CFMAIL.
	
	
	Some things I feel I must point out.
	1. Data Integrity is always an issue but why should I waste my
precious cpu
	time checking first what the tag is already checking.  If this
was truly
	intentional I would think that the devs at Macromedia would have
built in a
	little more reverse compatibility,  Maybe some sort of
attributes called
	throwonbademail defaulted to false.
	2. My main problem with this is that if you send to a query and
it throws an
	error it stops mid e-mail and does not rollback or anything it
only sends
	out the first percentage of the e-mail before the bad e-mail
address.
	
	Tyler Clendenin
	GSL Solutions 
  _
 [Todays Threads] 
 [This Message] 
 [Subscription] 
 [Fast Unsubscribe] 
 [User Settings]




Re: CFMX 'bug'? Easy to crash CFMAIL.

2004-01-21 Thread Nick de Voil
> The proper way to do this is to perform the syntax check yourself, and
> only call CFMAIL if necessary.  If anything, CFMX should be kind enough
> to add a new function isValidEmail() since most webapps do it pretty
> often.

Does cflib count?

http://www.cflib.org/udf.cfm?ID=216

Nick
 [Todays Threads] 
 [This Message] 
 [Subscription] 
 [Fast Unsubscribe] 
 [User Settings]




RE: CFMX 'bug'? Easy to crash CFMAIL.

2004-01-21 Thread Dave Watts
> Warning:  Doing all the try-catches is once again relying on 
> CF behavior which we all witnessed changing without notice 
> (rightfully so).  
>  
> The proper way to do this is to perform the syntax check 
> yourself, and only call CFMAIL if necessary. If anything, 
> CFMX should be kind enough to add a new function isValidEmail() 
> since most webapps do it pretty often.
>  
> By CFCatching all CFMAIL errors, you might never find out you 
> had a bad mailserver configured, or something else completely 
> different from an improperly formatted email address.

There's no reason why you can't investigate the reason for a mail failure
within a CFCATCH block. In general, it's a good idea to use exception
handling when dealing with external systems outside the control of your
application (like your mail server).

Dave Watts, CTO, Fig Leaf Software
http://www.figleaf.com/
voice: (202) 797-5496
fax: (202) 797-5444
 [Todays Threads] 
 [This Message] 
 [Subscription] 
 [Fast Unsubscribe] 
 [User Settings]




RE: CFMX 'bug'? Easy to crash CFMAIL.

2004-01-21 Thread Katz, Dov B (IT)
Obviously. I was directing this comment it to the user who might just
type  and think his problems were over.
-dov

  _  

	From: Dave Watts [mailto:[EMAIL PROTECTED] 
	Sent: Wednesday, January 21, 2004 10:53 AM
	To: CF-Talk
	Subject: RE: CFMX 'bug'? Easy to crash CFMAIL.
	
	
	> Warning:  Doing all the try-catches is once again relying on 
	> CF behavior which we all witnessed changing without notice 
	> (rightfully so).  
	>  
	> The proper way to do this is to perform the syntax check 
	> yourself, and only call CFMAIL if necessary. If anything, 
	> CFMX should be kind enough to add a new function
isValidEmail() 
	> since most webapps do it pretty often.
	>  
	> By CFCatching all CFMAIL errors, you might never find out you 
	> had a bad mailserver configured, or something else completely 
	> different from an improperly formatted email address.
	
	There's no reason why you can't investigate the reason for a
mail failure
	within a CFCATCH block. In general, it's a good idea to use
exception
	handling when dealing with external systems outside the control
of your
	application (like your mail server).
	
	Dave Watts, CTO, Fig Leaf Software
	http://www.figleaf.com/
	voice: (202) 797-5496
	fax: (202) 797-5444 
  _
 [Todays Threads] 
 [This Message] 
 [Subscription] 
 [Fast Unsubscribe] 
 [User Settings]




RE: CFMX 'bug'? Easy to crash CFMAIL.

2004-01-21 Thread Matt Robertson
Dave Watts wrote:
>..when you're using a query with
>your CFMAIL tag itself..
>if any record within that recordset has an invalid address,
>the whole thing will fail at that point.

Exactly my situation.  An external database with cfmail running with
query=.

Two choices:  
1)do a pre-mail validation loop over the entire db; testing and flagging
failures.
2. Do a cfloop over the query and cfmail inside of it, with validation
at each step.

Went with 2 as one loop seems better than two.  If the validation check
(a cfinclude) fails the email and all of its causes for failure are
logged to a db record, and at the end of the operation that single
failure report is emailed to the sender.  Also put in try/catch behavior
that includes logging any additional problems with that same report, and
allows the process to continue on.  

Not sure if the latter is such a bright idea in light of the validation
check, but I'll test a sample 10k mailer and see what happens with 10k
failures.


 Matt Robertson   [EMAIL PROTECTED] 
 MSB Designs, Inc.  http://mysecretbase.com

 [Todays Threads] 
 [This Message] 
 [Subscription] 
 [Fast Unsubscribe] 
 [User Settings]




RE: CFMX 'bug'? Easy to crash CFMAIL.

2004-01-21 Thread Dave Watts
> Obviously. I was directing this comment it to the user who 
> might just type  and think his problems were over.

That would never be an appropriate way to use CFCATCH; rather than
suggesting that people not use it, I would rather it be used correctly.

Dave Watts, CTO, Fig Leaf Software
http://www.figleaf.com/
voice: (202) 797-5496
fax: (202) 797-5444
 [Todays Threads] 
 [This Message] 
 [Subscription] 
 [Fast Unsubscribe] 
 [User Settings]




RE: CFMX 'bug'? Easy to crash CFMAIL.

2004-01-21 Thread Tyler Clendenin
I would assume that that would be more intensive then using the query
attribute within cfmail.  I am not talking about just a few e-mails here, I
do have to worry about processing time.  Running a loop essentially kills
the server.

 
You are essentially saying the tag doesn't work right and i agree.

 
Tyler Clendenin
GSL Solutions

  _  

From: Katz, Dov B (IT) [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, January 21, 2004 10:39 AM
To: CF-Talk
Subject: RE: CFMX 'bug'? Easy to crash CFMAIL.

Tyler,

2) so why don't you CFLOOP query=, and cfmail inside the loop to solve
this?
-Dov

  _  

From: Tyler Clendenin [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, January 21, 2004 10:18 AM
To: CF-Talk
Subject: RE: CFMX 'bug'? Easy to crash CFMAIL.

Some things I feel I must point out.
1. Data Integrity is always an issue but why should I waste my
precious cpu
time checking first what the tag is already checking.  If this
was truly
intentional I would think that the devs at Macromedia would have
built in a
little more reverse compatibility,  Maybe some sort of
attributes called
throwonbademail defaulted to false.
2. My main problem with this is that if you send to a query and
it throws an
error it stops mid e-mail and does not rollback or anything it
only sends
out the first percentage of the e-mail before the bad e-mail
address.

Tyler Clendenin
GSL Solutions 
  _ 
  _
 [Todays Threads] 
 [This Message] 
 [Subscription] 
 [Fast Unsubscribe] 
 [User Settings]




Re: CFMX 'bug'? Easy to crash CFMAIL.

2004-01-21 Thread Deanna Schneider
I've handled this by looping over my query, doing the validation, and
re-building the query for the cfmail tag, minus the bad records. Total
hassle, but better than crashing.

-d

- Original Message - 
From: "Dave Watts" <[EMAIL PROTECTED]>
To: "CF-Talk" <[EMAIL PROTECTED]>
Sent: Wednesday, January 21, 2004 9:44 AM
Subject: RE: CFMX 'bug'? Easy to crash CFMAIL.

> > Re #1: Doesn't putting a try/catch around the cfmail do the
> > trick? That way you don't have to validate the email yourself...
> > just let cfmail fail if it wants to.
> >
> > If you put the try/catch around the entire cfloop (or cfoutput)
> > of a query then Yes, it will abort the whole job. But if you put
> > the cftry/cfcatch around only the cfmail then you can do whatever
> > error recovery you want. One easy way is to set
> > variables.DidEmailWork = true above the cftry/cfmail and set
> > variables.DidEmailWork = false in the cfcatch. Then do any good/no
> > good handling outside of the cfttry using that variable to decide
> > what happened.
>
> Unfortunately, this approach isn't as clear when you're using a query with
> your CFMAIL tag itself; when you do that, it automatically loops over your
> recordset, and if any record within that recordset has an invalid address,
> the whole thing will fail at that point.
>
> Dave Watts, CTO, Fig Leaf Software
> http://www.figleaf.com/
> voice: (202) 797-5496
> fax: (202) 797-5444
>
>
 [Todays Threads] 
 [This Message] 
 [Subscription] 
 [Fast Unsubscribe] 
 [User Settings]




RE: CFMX 'bug'? Easy to crash CFMAIL.

2004-01-21 Thread Tyler Clendenin
Well overall better then crashing is spending more money on something like
cfx_activmail that just works.  That is my major gripe, why can't these
things just work.  Even still with this new version of CFMX I have a problem
after i get more then 2000 e-mails in my spool.  If anyone wants the link
ActivMail is at http://www.cfdev.com .  It just works.

 
Tyler Clendenin
GSL Solutions

  _  

From: Deanna Schneider [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, January 21, 2004 11:59 AM
To: CF-Talk
Subject: Re: CFMX 'bug'? Easy to crash CFMAIL.

I've handled this by looping over my query, doing the validation, and
re-building the query for the cfmail tag, minus the bad records. Total
hassle, but better than crashing.

-d

- Original Message - 
From: "Dave Watts" <[EMAIL PROTECTED]>
To: "CF-Talk" <[EMAIL PROTECTED]>
Sent: Wednesday, January 21, 2004 9:44 AM
Subject: RE: CFMX 'bug'? Easy to crash CFMAIL.

> > Re #1: Doesn't putting a try/catch around the cfmail do the
> > trick? That way you don't have to validate the email yourself...
> > just let cfmail fail if it wants to.
> >
> > If you put the try/catch around the entire cfloop (or cfoutput)
> > of a query then Yes, it will abort the whole job. But if you put
> > the cftry/cfcatch around only the cfmail then you can do whatever
> > error recovery you want. One easy way is to set
> > variables.DidEmailWork = true above the cftry/cfmail and set
> > variables.DidEmailWork = false in the cfcatch. Then do any good/no
> > good handling outside of the cfttry using that variable to decide
> > what happened.
>
> Unfortunately, this approach isn't as clear when you're using a query with
> your CFMAIL tag itself; when you do that, it automatically loops over your
> recordset, and if any record within that recordset has an invalid address,
> the whole thing will fail at that point.
>
> Dave Watts, CTO, Fig Leaf Software
> http://www.figleaf.com/
> voice: (202) 797-5496
> fax: (202) 797-5444
>
> 
  _
 [Todays Threads] 
 [This Message] 
 [Subscription] 
 [Fast Unsubscribe] 
 [User Settings]




RE: CFMX 'bug'? Easy to crash CFMAIL.

2004-01-21 Thread Gaulin, Mark
The cfmail-with-a-query behavior does suck, doesn't it...  

 
If the exception included the bogus email address then it could be possible
to sort the original query by email address, and then you can assume that
any email address prior to the bogus one worked.  Then you just have to
requery starting after the bogus address.  

 
Yeah, I guess I would call throwing an exception when working on a group of
emails a defect... it seems like there should be better ways to communicate
the problem addresses back to the caller without aborting the entire job.

 
    Mark

 -Original Message-
From: Dave Watts [mailto:[EMAIL PROTECTED]
Sent: Wednesday, January 21, 2004 10:44 AM
To: CF-Talk
Subject: RE: CFMX 'bug'? Easy to crash CFMAIL.

> Re #1: Doesn't putting a try/catch around the cfmail do the 
> trick? That way you don't have to validate the email yourself... 
> just let cfmail fail if it wants to.
>  
> If you put the try/catch around the entire cfloop (or cfoutput) 
> of a query then Yes, it will abort the whole job. But if you put 
> the cftry/cfcatch around only the cfmail then you can do whatever 
> error recovery you want. One easy way is to set 
> variables.DidEmailWork = true above the cftry/cfmail and set 
> variables.DidEmailWork = false in the cfcatch. Then do any good/no 
> good handling outside of the cfttry using that variable to decide 
> what happened.

Unfortunately, this approach isn't as clear when you're using a query with
your CFMAIL tag itself; when you do that, it automatically loops over your
recordset, and if any record within that recordset has an invalid address,
the whole thing will fail at that point.

Dave Watts, CTO, Fig Leaf Software
http://www.figleaf.com/  
voice: (202) 797-5496
fax: (202) 797-5444 
  _
 [Todays Threads] 
 [This Message] 
 [Subscription] 
 [Fast Unsubscribe] 
 [User Settings]




RE: CFMX 'bug'? Easy to crash CFMAIL.

2004-01-21 Thread Tom Jordahl
> That is my major gripe, why can't these things just work.

Because what to you is 'just working' is to a bunch of other people 'hiding
an import error'.

If you have CFMX 6.1 mail spooling problems, I would look to your mail
server.  I would also report a problem through technical support and maybe
we can fix it for you.

By the way, there is very little functional difference between cfmail
qeuery= and cfloop/cfmail.  If you believe your DB has bad Email addresses
in it, use the loop and validate the addresses.  If you have verified your
data's integrity on entry, use the query= syntax.

I do have an enhancement on my plate to batch bad addresses when running
cfmail over a query.  We know this is a problem many users encounter. We
just have to figure out how the interface would work.  Suggestions?

--
Tom Jordahl
Macromedia Server Development
-Original Message-
From: Tyler Clendenin [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, January 21, 2004 12:11 PM
To: CF-Talk
Subject: RE: CFMX 'bug'? Easy to crash CFMAIL.

Well overall better then crashing is spending more money on something like
cfx_activmail that just works.  That is my major gripe, why can't these
things just work.  Even still with this new version of CFMX I have a problem
after i get more then 2000 e-mails in my spool.  If anyone wants the link
ActivMail is at http://www.cfdev.com .  It just works.

Tyler Clendenin
GSL Solutions

  _  

From: Deanna Schneider [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, January 21, 2004 11:59 AM
To: CF-Talk
Subject: Re: CFMX 'bug'? Easy to crash CFMAIL.

I've handled this by looping over my query, doing the validation, and
re-building the query for the cfmail tag, minus the bad records. Total
hassle, but better than crashing.

-d

- Original Message - 
From: "Dave Watts" <[EMAIL PROTECTED]>
To: "CF-Talk" <[EMAIL PROTECTED]>
Sent: Wednesday, January 21, 2004 9:44 AM
Subject: RE: CFMX 'bug'? Easy to crash CFMAIL.

> > Re #1: Doesn't putting a try/catch around the cfmail do the
> > trick? That way you don't have to validate the email yourself...
> > just let cfmail fail if it wants to.
> >
> > If you put the try/catch around the entire cfloop (or cfoutput)
> > of a query then Yes, it will abort the whole job. But if you put
> > the cftry/cfcatch around only the cfmail then you can do whatever
> > error recovery you want. One easy way is to set
> > variables.DidEmailWork = true above the cftry/cfmail and set
> > variables.DidEmailWork = false in the cfcatch. Then do any good/no
> > good handling outside of the cfttry using that variable to decide
> > what happened.
>
> Unfortunately, this approach isn't as clear when you're using a query with
> your CFMAIL tag itself; when you do that, it automatically loops over your
> recordset, and if any record within that recordset has an invalid address,
> the whole thing will fail at that point.
>
> Dave Watts, CTO, Fig Leaf Software
> http://www.figleaf.com/
> voice: (202) 797-5496
> fax: (202) 797-5444
>
> 
  _
 [Todays Threads] 
 [This Message] 
 [Subscription] 
 [Fast Unsubscribe] 
 [User Settings]




RE: CFMX 'bug'? Easy to crash CFMAIL.

2004-01-21 Thread Katz, Dov B (IT)
Why not make a nwe query object during cfmail called CFMAIL.FAILED  and
make that query have rows from the original one which failed?

 
Then users can cfloop/cfoutput over that query if the recordcount is
nonzero.

 
-Dov

 
  _  

From: Tom Jordahl [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, January 21, 2004 2:34 PM
To: CF-Talk
Subject: RE: CFMX 'bug'? Easy to crash CFMAIL.

	> That is my major gripe, why can't these things just work.
	
	Because what to you is 'just working' is to a bunch of other
people 'hiding
	an import error'.
	
	If you have CFMX 6.1 mail spooling problems, I would look to
your mail
	server.  I would also report a problem through technical support
and maybe
	we can fix it for you.
	
	By the way, there is very little functional difference between
cfmail
	qeuery= and cfloop/cfmail.  If you believe your DB has bad Email
addresses
	in it, use the loop and validate the addresses.  If you have
verified your
	data's integrity on entry, use the query= syntax.
	
	I do have an enhancement on my plate to batch bad addresses when
running
	cfmail over a query.  We know this is a problem many users
encounter. We
	just have to figure out how the interface would work.
Suggestions?
	
	--
	Tom Jordahl
	Macromedia Server Development
	-Original Message-
	From: Tyler Clendenin [mailto:[EMAIL PROTECTED] 
	Sent: Wednesday, January 21, 2004 12:11 PM
	To: CF-Talk
	Subject: RE: CFMX 'bug'? Easy to crash CFMAIL.
	
	Well overall better then crashing is spending more money on
something like
	cfx_activmail that just works.  That is my major gripe, why
can't these
	things just work.  Even still with this new version of CFMX I
have a problem
	after i get more then 2000 e-mails in my spool.  If anyone wants
the link
	ActivMail is at http://www.cfdev.com .  It just works.
	
	Tyler Clendenin
	GSL Solutions
	
	  _  
	
	From: Deanna Schneider [mailto:[EMAIL PROTECTED] 
	Sent: Wednesday, January 21, 2004 11:59 AM
	To: CF-Talk
	Subject: Re: CFMX 'bug'? Easy to crash CFMAIL.
	
	I've handled this by looping over my query, doing the
validation, and
	re-building the query for the cfmail tag, minus the bad records.
Total
	hassle, but better than crashing.
	
	-d
	
	- Original Message - 
	From: "Dave Watts" <[EMAIL PROTECTED]>
	To: "CF-Talk" <[EMAIL PROTECTED]>
	Sent: Wednesday, January 21, 2004 9:44 AM
	Subject: RE: CFMX 'bug'? Easy to crash CFMAIL.
	
	> > Re #1: Doesn't putting a try/catch around the cfmail do the
	> > trick? That way you don't have to validate the email
yourself...
	> > just let cfmail fail if it wants to.
	> >
	> > If you put the try/catch around the entire cfloop (or
cfoutput)
	> > of a query then Yes, it will abort the whole job. But if you
put
	> > the cftry/cfcatch around only the cfmail then you can do
whatever
	> > error recovery you want. One easy way is to set
	> > variables.DidEmailWork = true above the cftry/cfmail and set
	> > variables.DidEmailWork = false in the cfcatch. Then do any
good/no
	> > good handling outside of the cfttry using that variable to
decide
	> > what happened.
	>
	> Unfortunately, this approach isn't as clear when you're using
a query with
	> your CFMAIL tag itself; when you do that, it automatically
loops over your
	> recordset, and if any record within that recordset has an
invalid address,
	> the whole thing will fail at that point.
	>
	> Dave Watts, CTO, Fig Leaf Software
	> http://www.figleaf.com/
	> voice: (202) 797-5496
	> fax: (202) 797-5444
	>
	> 
	  _ 
  _
 [Todays Threads] 
 [This Message] 
 [Subscription] 
 [Fast Unsubscribe] 
 [User Settings]




Re: CFMX 'bug'? Easy to crash CFMAIL.

2004-01-21 Thread Christian Cantrell
On Wednesday, January 21, 2004, at 10:18  AM, Tyler Clendenin wrote:

> My main problem with this is that if you send to a query and it throws 
> an
> error it stops mid e-mail and does not rollback or anything it only 
> sends
> out the first percentage of the e-mail before the bad e-mail address.

Do you mean if you pass a query into the CFMAIL tag?  That's the price 
you pay for convenience.  If you have validated all your email address 
on their way in, use this feature with confidence.  If you have not, 
then loop through the query manually and either validate or catch 
errors.  Sometimes the most convent solution is not the most 
appropriate for your needs.

Christian
 [Todays Threads] 
 [This Message] 
 [Subscription] 
 [Fast Unsubscribe] 
 [User Settings]




RE: CFMX 'bug'? Easy to crash CFMAIL.

2004-01-21 Thread Tyler Clendenin
so you see no forseeable performance issue with looping over using the
query?  also does the validator follow all rfc822 standards such as quoted
identifiers.and in clarification, this behavoir is a new "improvement" and
not a bug?

 
Tyler Clendenin
GSL Solutions

  _  

From: Tom Jordahl [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, January 21, 2004 2:34 PM
To: CF-Talk
Subject: RE: CFMX 'bug'? Easy to crash CFMAIL.

> That is my major gripe, why can't these things just work.

Because what to you is 'just working' is to a bunch of other people 'hiding
an import error'.

If you have CFMX 6.1 mail spooling problems, I would look to your mail
server.  I would also report a problem through technical support and maybe
we can fix it for you.

By the way, there is very little functional difference between cfmail
qeuery= and cfloop/cfmail.  If you believe your DB has bad Email addresses
in it, use the loop and validate the addresses.  If you have verified your
data's integrity on entry, use the query= syntax.

I do have an enhancement on my plate to batch bad addresses when running
cfmail over a query.  We know this is a problem many users encounter. We
just have to figure out how the interface would work.  Suggestions?

--
Tom Jordahl
Macromedia Server Development
 [Todays Threads] 
 [This Message] 
 [Subscription] 
 [Fast Unsubscribe] 
 [User Settings]




RE: CFMX 'bug'? Easy to crash CFMAIL.

2004-01-21 Thread Tyler Clendenin
As I find confidence is just another way to write buggy code.  If you can
feel confident that every step of your process is yours and you have written
it right then good job you are lucky because not everyone in the world has
the ability to control everything they want.  I at one time was confident
that if there was a bad email address in my list it would not throw an error
and would append a text file which i could use.  This confidence was not
misplaced, things just change.

 
Tyler Clendenin
GSL Solutions

  _  

From: Christian Cantrell [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, January 21, 2004 2:41 PM
To: CF-Talk
Subject: Re: CFMX 'bug'? Easy to crash CFMAIL.

On Wednesday, January 21, 2004, at 10:18  AM, Tyler Clendenin wrote:

> My main problem with this is that if you send to a query and it throws 
> an
> error it stops mid e-mail and does not rollback or anything it only 
> sends
> out the first percentage of the e-mail before the bad e-mail address.

Do you mean if you pass a query into the CFMAIL tag?  That's the price 
you pay for convenience.  If you have validated all your email address 
on their way in, use this feature with confidence.  If you have not, 
then loop through the query manually and either validate or catch 
errors.  Sometimes the most convent solution is not the most 
appropriate for your needs.

Christian 
  _
 [Todays Threads] 
 [This Message] 
 [Subscription] 
 [Fast Unsubscribe] 
 [User Settings]




RE: CFMX 'bug'? Easy to crash CFMAIL.

2004-01-21 Thread Jochem van Dieten
Tom Jordahl said:
>
> Because what to you is 'just working' is to a bunch of other people
> 'hiding an import error'.

+1

> I do have an enhancement on my plate to batch bad addresses when
> running cfmail over a query.  We know this is a problem many users
> encounter. We just have to figure out how the interface would work.
> Suggestions?

Just make it behave like it is mail :-)

Email that fails due to an email address error or a relaying denied
error should be sent from failto to failto (#50755). If that fails,
deliver to "[EMAIL PROTECTED]" with "<>" as the enveloppe-from. And
add the option for administrators of (hosted) webservers to require
the presence of a failto attribute.

But whatever happens,  I don't want *any* email in the undelivr
folder. Too many privacy issues figuring out how it got there, whose
mail it is and where it should go. I have virtually no option but to
delete it without even trying to get it to the right place.

Jochem
 [Todays Threads] 
 [This Message] 
 [Subscription] 
 [Fast Unsubscribe] 
 [User Settings]




Re: CFMX 'bug'? Easy to crash CFMAIL.

2004-01-21 Thread Christian Cantrell
On Wednesday, January 21, 2004, at 02:54  PM, Tyler Clendenin wrote:

> so you see no forseeable performance issue with looping over using the
> query?

I wouldn't think so.  I would guess that's what is happening internally 
anyway.  Perhaps Tom can clarify.

> also does the validator follow all rfc822 standards such as quoted
> identifiers.

I'll leave that for Tom to answer.

> and in clarification, this behavoir is a new "improvement" and
> not a bug?

Yes.  We realize that the behavior is inconsistent with previous 
versions of ColdFusion, however we believe the new behavior exhibited 
by CFMX is preferable.  Sorry for the difficulties it has caused with 
your code, but I think once you have completed the required 
re-factoring, you will find that your application is actually more 
robust.

Christian
 [Todays Threads] 
 [This Message] 
 [Subscription] 
 [Fast Unsubscribe] 
 [User Settings]




Re: CFMX 'bug'? Easy to crash CFMAIL.

2004-01-21 Thread Massimo, Tiziana e Federica
> Yes.  We realize that the behavior is inconsistent with previous
> versions of ColdFusion, however we believe the new behavior exhibited
> by CFMX is preferable.

I agree. But I also think MM failed to inform developers up to the level
that such a change would require.


Massimo Foti
http://www.massimocorner.com

Co-Author of Dreamweaver MX 2004 Magic:
http://www.dwmagic.com/
 [Todays Threads] 
 [This Message] 
 [Subscription] 
 [Fast Unsubscribe] 
 [User Settings]




RE: CFMX 'bug'? Easy to crash CFMAIL.

2004-01-21 Thread Tom Jordahl
The cfloop vs. cfmail query= Java bytecode will be very similar.  There should be no performance penalty, although since you will be doing an extra operation (checking the address column) thing might run a bit slow because you are doing more work.

The validator is the InternetAddress.parse function from JavaMail.

Here is the code:

   InternetAddress[] rs;

try

{

rs = InternetAddress.parse(addr);

}

catch (AddressException ex)

{

rs = null;

}

You can find documentation on the InternetAddress class at http://java.sun.com/products/javamail/reference/api/index.html  

Here is a paste of the JavaDoc:

parse

public static InternetAddress  [] parse(java.lang.String addresslist)
   throws AddressException  

Parse the given comma separated sequence of addresses into InternetAddress objects. Addresses must follow RFC822 syntax. 

Parameters: 

addresslist - comma separated address strings 

Returns: 

array of InternetAddress objects 

Throws: 

AddressException   - if the parse failed



I hope this info helps.

--
Tom Jordahl
Macromedia Server Development

-Original Message-
From: Tyler Clendenin [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, January 21, 2004 2:55 PM
To: CF-Talk
Subject: RE: CFMX 'bug'? Easy to crash CFMAIL.

so you see no forseeable performance issue with looping over using the
query?  also does the validator follow all rfc822 standards such as quoted
identifiers.and in clarification, this behavoir is a new "improvement" and
not a bug?

Tyler Clendenin
GSL Solutions

  _  

From: Tom Jordahl [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, January 21, 2004 2:34 PM
To: CF-Talk
Subject: RE: CFMX 'bug'? Easy to crash CFMAIL.

> That is my major gripe, why can't these things just work.

Because what to you is 'just working' is to a bunch of other people 'hiding
an import error'.

If you have CFMX 6.1 mail spooling problems, I would look to your mail
server.  I would also report a problem through technical support and maybe
we can fix it for you.

By the way, there is very little functional difference between cfmail
qeuery= and cfloop/cfmail.  If you believe your DB has bad Email addresses
in it, use the loop and validate the addresses.  If you have verified your
data's integrity on entry, use the query= syntax.

I do have an enhancement on my plate to batch bad addresses when running
cfmail over a query.  We know this is a problem many users encounter. We
just have to figure out how the interface would work.  Suggestions?

--
Tom Jordahl
Macromedia Server Development

  _
 [Todays Threads] 
 [This Message] 
 [Subscription] 
 [Fast Unsubscribe] 
 [User Settings]




Re: CFMX 'bug'? Easy to crash CFMAIL.

2004-01-21 Thread Matt Robertson
Christian wrote:
>I think once you have completed the required re-factoring, 
>you will find that your application is actually more 
>robust.

Absolutely.

But I hope someone smacked themselves on the head and at the very, *very* least said "Oops.  Lets try not do *that* again!"  when the realization hit that this change was undocumented and unannounced (assuming I am not incorrect on that score).

--
---
 Matt Robertson, [EMAIL PROTECTED]
 MSB Designs, Inc. http://mysecretbase.com
---

--
 [Todays Threads] 
 [This Message] 
 [Subscription] 
 [Fast Unsubscribe] 
 [User Settings]




Re: CFMX 'bug'? Easy to crash CFMAIL.

2004-01-22 Thread Christian Cantrell
On Wednesday, January 21, 2004, at 06:28  PM, Matt Robertson wrote:

> But I hope someone smacked themselves on the head and at the very, 
> *very* least said "Oops.  Lets try not do *that* again!"  when the 
> realization hit that this change was undocumented and unannounced 
> (assuming I am not incorrect on that score)

I haven't been able to find it documented anywhere, so you're right.  I 
will make sure the appropriate person smacks himself on the head.

Christian
 [Todays Threads] 
 [This Message] 
 [Subscription] 
 [Fast Unsubscribe] 
 [User Settings]




RE: CFMX 'bug'? Easy to crash CFMAIL.

2004-01-28 Thread Katz, Dov B (IT)
Use the javax.mail construct for internet address. Wrap that in a
try-catch and there's your validation.
-Dov

  _  

	From: Tim Jackson [mailto:[EMAIL PROTECTED] 
	Sent: Wednesday, January 28, 2004 4:05 PM
	To: CF-Talk
	Subject: Re:CFMX 'bug'? Easy to crash CFMAIL.
	
	
	Raymond,
	
	Can you recommend the best way of checking the email first?...
CFMX does not provide the same function that CFMAIL uses to validate.  I
have ran into many instances where tags from the CF Exchange pass emails
(ISEmailResult, etc), and CFMAIL MX crashes.
	
	I agree with those of you who call this a BUG.  
	
	1. CFMAIL worked on previous versions regardless of fubared
emails.  Go ahead an allow CFMAIL tag checking for apps written after MX
6.1, but default it to not if it is not specified.  It is not backward
compatible.
	
	2. It does "Crash" ColdFusion.  It does not literally stop the
service, but it invokes error handling, which, to the fat-fingered end
user, is a crash.
	
	3. CFMail DEMANDS a properly formatted email.  But CFML does not
provide the same function to test the same way it does.
	
	-Tim
	
	Attribute validation error for tag CFMAIL.
	
	>Incorrect. You simply need to check the email address first.
This is best
	>done one time - so do it before inserting it into the DB.
	>
	> 
  _
 [Todays Threads] 
 [This Message] 
 [Subscription] 
 [Fast Unsubscribe] 
 [User Settings]




RE: CFMX 'bug'? Easy to crash CFMAIL.

2004-01-28 Thread Raymond Camden
> Can you recommend the best way of checking the email 
> first?... CFMX does not provide the same function that CFMAIL 
> uses to validate.  I have ran into many instances where tags 
> from the CF Exchange pass emails (ISEmailResult, etc), and 
> CFMAIL MX crashes.
> 

www.cflib.org/udf.cfm/isEmail
 [Todays Threads] 
 [This Message] 
 [Subscription] 
 [Fast Unsubscribe] 
 [User Settings]




(CFMX RFE) RE: CFMX 'bug'? Easy to crash CFMAIL.

2004-01-21 Thread Katz, Dov B (IT)
Here's my informal CFMX RFE based on this discussion:

 
1) add a new string function to the cf function library.
    public String isValidEmail(String s){
try{
new javax.mail.internet.InternetAddress(s);
return true;
}    catch (javax.mail.internet.AddressException e){ 
return false; 
    }
}

 
2) Add to the CFMail tag routine a CFQuery object called "FAILED" with
the same row structure as the original query, if one is passed in. Put a
copy of each failed row in there.

 
-Dov

  _  

	From: Christian Cantrell [mailto:[EMAIL PROTECTED] 
	Sent: Wednesday, January 21, 2004 2:41 PM
	To: CF-Talk
	Subject: Re: CFMX 'bug'? Easy to crash CFMAIL.
	
	
	On Wednesday, January 21, 2004, at 10:18  AM, Tyler Clendenin
wrote:
	
	> My main problem with this is that if you send to a query and
it throws 
	> an
	> error it stops mid e-mail and does not rollback or anything it
only 
	> sends
	> out the first percentage of the e-mail before the bad e-mail
address.
	
	Do you mean if you pass a query into the CFMAIL tag?  That's the
price 
	you pay for convenience.  If you have validated all your email
address 
	on their way in, use this feature with confidence.  If you have
not, 
	then loop through the query manually and either validate or
catch 
	errors.  Sometimes the most convent solution is not the most 
	appropriate for your needs.
	
	Christian 
  _
 [Todays Threads] 
 [This Message] 
 [Subscription] 
 [Fast Unsubscribe] 
 [User Settings]




RE: (CFMX RFE) RE: CFMX 'bug'? Easy to crash CFMAIL.

2004-01-21 Thread Katz, Dov B (IT)
Duh, it returns a boolean... you get the point... -Dov

  _  

	From: Katz, Dov B (IT) 
	Sent: Wednesday, January 21, 2004 2:57 PM
	To: CF-Talk
	Subject: (CFMX RFE) RE: CFMX 'bug'? Easy to crash CFMAIL.
	
	
	Here's my informal CFMX RFE based on this discussion:
	
	
	1) add a new string function to the cf function library.
	    public String isValidEmail(String s){
	try{
	new javax.mail.internet.InternetAddress(s);
	return true;
	}    catch (javax.mail.internet.AddressException e){ 
	return false; 
	    }
	}
	
	
	2) Add to the CFMail tag routine a CFQuery object called
"FAILED" with
	the same row structure as the original query, if one is passed
in. Put a
	copy of each failed row in there.
	
	
	-Dov
	
	  _  
	
	From: Christian Cantrell [mailto:[EMAIL PROTECTED] 
	Sent: Wednesday, January 21, 2004 2:41 PM
	To: CF-Talk
	Subject: Re: CFMX 'bug'? Easy to crash CFMAIL.
	
	
	On Wednesday, January 21, 2004, at 10:18  AM, Tyler Clendenin
	wrote:
	
	> My main problem with this is that if you send to a query and
	it throws 
	> an
	> error it stops mid e-mail and does not rollback or anything it
	only 
	> sends
	> out the first percentage of the e-mail before the bad e-mail
	address.
	
	Do you mean if you pass a query into the CFMAIL tag?  That's the
	price 
	you pay for convenience.  If you have validated all your email
	address 
	on their way in, use this feature with confidence.  If you have
	not, 
	then loop through the query manually and either validate or
	catch 
	errors.  Sometimes the most convent solution is not the most 
	appropriate for your needs.
	
	Christian 
	  _ 
  _
 [Todays Threads] 
 [This Message] 
 [Subscription] 
 [Fast Unsubscribe] 
 [User Settings]




Re:(CFMX RFE) RE: CFMX 'bug'? Easy to crash CFMAIL.

2004-01-31 Thread Tim Jackson
Can this be implemented now in anyway?  (CFSCRIPT?)
 [Todays Threads] 
 [This Message] 
 [Subscription] 
 [Fast Unsubscribe] 
 [User Settings]